社区
C++ 语言
帖子详情
ZwReadFile挂起问题
www_microsoft_com
2012-01-17 02:47:14
Win32程序(非驱动层)调用ZwReadFile/ZwWriteFile函数进行读写文件时, 有时候会返回STATUS_PENDING而不是STATUS_SUCCESS, 虽然调用ZwClose关闭文件后, 读写操作实际上是成功的, 但这却给程序的逻辑判断带来麻烦, 有谁遇到过类似问题吗?
...全文
71
1
打赏
收藏
ZwReadFile挂起问题
Win32程序(非驱动层)调用ZwReadFile/ZwWriteFile函数进行读写文件时, 有时候会返回STATUS_PENDING而不是STATUS_SUCCESS, 虽然调用ZwClose关闭文件后, 读写操作实际上是成功的, 但这却给程序的逻辑判断带来麻烦, 有谁遇到过类似问题吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RLib
2012-01-17
打赏
举报
回复
Win32程序请调用Nt系列函数(NtReadFile/NtWriteFile), 虽然是一样的, 但是微软建议这么做, 也好理解一点.
NtReadFile/NtWriteFile返回STATUS_PENDING表示操作未完成, 这时候请调用NtWaitForSingleObject函数, 使应用程序在那个用户模式句柄指向的文件对象上等待直到操作完成, 具体请MSDN, 不深究。
Windows驱动编程基础教程(转)
我经常在网上遇到心如火燎的提问者。他们碰到很多工作中的技术
问题
,是关于驱动开发的。其实绝大部分他们碰到的“巨大困难”是被老牛们看成初级得不能再初 级的
问题
。比如经常有人定义一个空的UNICODE_STRING,然后往里面拷贝字符串。结果无论如何都是蓝屏。也有人在堆栈中定义一个局部 SPIN_LOCK,作为下面的同步用——这样用显然没有任何意义。我无法一一回答这些
问题
:因为往往要耐心的看他...
内核同步对象(下)
内核互斥对象互斥(mutex)就是互相排斥(mutual exclusion)的简写。内核互斥对象为多个竞争线程串行化访问共享资源提供了一种方法(不一定是最好的方法)。如果互斥对象不被某线程所拥有,则它是信号态,反之则是非信号态。当线程为了获得互斥对象的控制权而调用KeWaitXxx例程时,内核同时也做了一些工作以帮助避免可能的死锁。同样,互斥对象也需要与KeWaitForSingleObje
[Win驱动6]Windows驱动之间的同步相互调用
应用程序->驱动B(Read)->驱动A(Read) // 应用程序 #include <windows.h> #include <stdio.h> int main() { DWORD dRet; HANDLE hDevice = CreateFile("\\\\.\\HelloDDKB", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
《Windows驱动开发技术详解》之驱动程序调用驱动程序——以文件句柄形式调用其它驱动程序...
在驱动程序开发中,经常需要一个驱动程序调用另一个驱动程序。例如,虚拟串口转USB设备的驱动程序,这种驱动程序首先创建一个虚拟串口设备,对这个虚拟串口设备的读写请求会转发到一个USB设备上去。这时就需要在虚拟串口驱动程序中调用USB驱动程序。 同步调用方法 本章节假设DriverA是将要被调用的目标驱动程序。 DriverB可以有多种方法调用DriverA,可以是同...
30、驱动程序调用驱动程序
有两种方法,一种是以文件句柄的形式,另外一种是通过设备指针调用其它驱动程序。 1、以文件句柄形式调用 1)应用程序 调用 驱动A 调用 驱动B 这种方法类似于在应用程序中调用驱动程序。 在应用程序中用CreateFile,
ReadFile
,CloseHandle来操作相应文件,驱动中用
Zw
CreateFile,
Zw
ReadFile
,Irp结束操作。 要注意:
Zw
Crea...
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章