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

做视频网站违法么企业网站建站之星

做视频网站违法么,企业网站建站之星,代码模版 网站,谁有恶意点击软件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.yayakq.cn/news/840544/

相关文章:

  • 网站职业培训机构个人网站怎么做支付
  • 社交网站 ui制作app界面
  • 住房和城乡建设部文化中心网站潍坊网站优化排名
  • 移动端响应式网站怎么做如何注册网站主办者
  • 天河低价网站建设制作网页网站哪个好用
  • 做企业网站市场分析兰州app开发
  • 表单大师 做网站中文wordpress博客模板下载
  • 温州网站设计平台上海市官网
  • 学校门户网站的网站建设方案wordpress获取地址
  • 织梦后台如何做网站地图商城网站建设方案
  • 做电影网站大概要多少钱国际军事新闻视频
  • 建设银行个人网站个人客户wordpress悬浮按钮插件
  • 怎么做网站跟域名开发者头条
  • 个人做理财网站安徽省建筑业信息一体化平台网
  • 洛阳网站建设行业建设一个聊天类的网站
  • php网站 缓存wordpress修改固定链接后无法访问
  • 杭州北京网站建设公司专业工厂网站建设
  • 旅游网站的规划与建设开题报告网线制作原理
  • 江西城乡建设厅网站网站建设改版公司
  • 推广网站挣钱全自动网页制作
  • les做ml网站公司的网站如何做
  • 保险网站有哪些平台上海十大国企排名
  • 四川网络推广公司seo基础课程
  • 模版网站好吗成都营销型网站建设中账号
  • 沈阳网站制作建设株洲做网站需要多少钱
  • 网站建设定做建平台网站费用
  • 公司网站开发部署为什么wordpress有cookies
  • 电子商务网站建设与维护中职教材建设银行征信中心个人信用查询官方网站
  • 广州外贸网站制作微信wap网站
  • 网站建设的公司怎么收费网页图片大小怎么调整