当前位置: 首页 > news >正文

徐州h5建站网络广告推广方案

徐州h5建站,网络广告推广方案,wordpress链接,网站建设项目报告书2.1.ReactOS源码分析ReadFile函数分解 2.1.ReactOS源码分析ReadFile函数分解 文章目录 2.1.ReactOS源码分析ReadFile函数分解ReadFile函数的分析ReadFile函数的声明ReadFile函数的核心代码 ReadFile函数的分析 BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED)…

2.1.ReactOS源码分析ReadFile函数分解

2.1.ReactOS源码分析ReadFile函数分解

文章目录

  • 2.1.ReactOS源码分析ReadFile函数分解
  • ReadFile函数的分析
  • ReadFile函数的声明
  • ReadFile函数的核心代码


ReadFile函数的分析

BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);

ReadFile函数的声明

BOOL STDCALL
ReadFile(IN HANDLE hFile,IN LPVOID lpBuffer,IN DWORD nNumberOfBytesToRead,OUT LPDWORD lpNumberOfBytesRead  OPTIONAL,IN LPOVERLAPPED lpOverlapped  OPTIONAL)
{NTSTATUS Status;DPRINT("ReadFile(hFile %x)\n", hFile);if (lpNumberOfBytesRead != NULL){*lpNumberOfBytesRead = 0;}if (IsConsoleHandle(hFile)){return ReadConsoleA(hFile,lpBuffer,nNumberOfBytesToRead,lpNumberOfBytesRead,NULL);}if (lpOverlapped != NULL){LARGE_INTEGER Offset;PVOID ApcContext;Offset.u.LowPart = lpOverlapped->Offset;Offset.u.HighPart = lpOverlapped->OffsetHigh;lpOverlapped->Internal = STATUS_PENDING;ApcContext = (((ULONG_PTR)lpOverlapped->hEvent & 0x1) ? NULL : lpOverlapped);Status = NtReadFile(hFile,lpOverlapped->hEvent,NULL,ApcContext,(PIO_STATUS_BLOCK)lpOverlapped,lpBuffer,nNumberOfBytesToRead,&Offset,NULL);/* return FALSE in case of failure and pending operations! */if (!NT_SUCCESS(Status) || Status == STATUS_PENDING){if (Status == STATUS_END_OF_FILE &&lpNumberOfBytesRead != NULL){*lpNumberOfBytesRead = 0;}SetLastErrorByStatus(Status);return FALSE;}if (lpNumberOfBytesRead != NULL){*lpNumberOfBytesRead = lpOverlapped->InternalHigh;}}else{IO_STATUS_BLOCK Iosb;Status = NtReadFile(hFile,NULL,NULL,NULL,&Iosb,lpBuffer,nNumberOfBytesToRead,NULL,NULL);/* wait in case operation is pending */if (Status == STATUS_PENDING){Status = NtWaitForSingleObject(hFile,FALSE,NULL);if (NT_SUCCESS(Status)){Status = Iosb.Status;}}if (Status == STATUS_END_OF_FILE){/* lpNumberOfBytesRead must not be NULL here, in fact Win doesn'tcheck that case either and crashes (only after the operationcompleted) */*lpNumberOfBytesRead = 0;return TRUE;}if (NT_SUCCESS(Status)){/* lpNumberOfBytesRead must not be NULL here, in fact Win doesn'tcheck that case either and crashes (only after the operationcompleted) */*lpNumberOfBytesRead = Iosb.Information;}else{SetLastErrorByStatus(Status);return FALSE;}}DPRINT("ReadFile() succeeded\n");return TRUE;
}

ReadFile函数的核心代码

BOOL STDCALL
ReadFile(IN HANDLE hFile,IN LPVOID lpBuffer,IN DWORD nNumberOfBytesToRead,OUT LPDWORD lpNumberOfBytesRead  OPTIONAL,IN LPOVERLAPPED lpOverlapped  OPTIONAL)
{NTSTATUS Status;// ...Status = NtReadFile(hFile,NULL,NULL,NULL,&Iosb,lpBuffer,nNumberOfBytesToRead,NULL,NULL);//...return TRUE;
}

1,ReadFile函数的分析,转变为对函数NtReadFile函数的分析。
NtReadFile函数的分析请看本专栏NtReadFile函数的分析

http://www.mnyf.cn/news/45114.html

相关文章:

  • 苏州新区做网站网络促销
  • 网站开发资质要求营销型网站定制
  • 手机端网站设计惠州seo优化服务
  • 文化类网站是不是休闲娱乐类网站软文发布门户网站
  • 装修品牌seo线下培训课程
  • 大连辰熙大厦做网站新手怎么推广自己的店铺
  • 个人网站建设策划书抖音seo怎么做
  • 2014做网站下载一个百度时事新闻
  • 泰安做网站建设的公司白云区最新疫情
  • 制作企业网站的报告培训网站排名
  • 自己的博客和自己的网站做友链推广方案范例
  • 线上线下购物商城系统长沙 建站优化
  • 网站建设广告词软文客
  • 网站建设800元全包seo综合查询
  • c 网站开发案例代码网址大全名称
  • 西平县建设局网站vivo应用商店
  • 营销型网站建设微博百度app优化
  • 网站图标 代码sem和seo的区别
  • 怎么做全屏网站南平网站seo
  • 吴江和城乡建设局网站深圳百度推广公司
  • 网站维护公司推荐营销策划公司取名大全
  • 有谁用2008做网站服务器成都短视频代运营
  • 高端网站建设方案网站推广计划
  • 网站素材 下载seo推广系统排名榜
  • 微信做网站谷歌浏览器引擎入口
  • 做调查挣钱的网站武汉百度搜索优化
  • 祭祖网站怎么做十大seo公司
  • 大企业网站建设多少钱防恶意点击软件
  • 用ip地址做网站seo狂人
  • 高级web程序设计—jsp网站开发 吴 课后习题答案优秀网站设计欣赏