dswei
驱动牛犊
驱动牛犊
  • 注册日期2003-03-19
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1156回复:2

ReadFile、WriteFile返回时对应驱动程序程序中的什么?

楼主#
更多 发布于:2003-12-20 15:55
1、在驱动程序中,是不是执行CompleteIrp后,应用程序的ReadFile、WriteFile才返回?
2、如果使IRP排队,在排队之前,IRP被标记为挂起;在StartIo中,驱动程序才执行CompleteIrp,应用程序如何知道IRP被挂起了呢?ReadFile、WriteFile何时返回?
cool-net
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2010-01-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-20 18:31
这视忽你在应用程序中调用ReadFile、WriteFile的时候是否使用异步完成(比如overlapped),如果没有使用异步完成机制,则ReadFile和WriteFile要一直阻塞到CompleteIrp为止,否则,ReadFile和WriteFile会立即反回,在驱动程序CompleteIrp时,系统要么设置overlapped IO里的Event,要么执行异步完成过程。
有错误才会有进步,所以我的人生目标是: 错误不断,毁人不倦!
qinxg
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望27点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-30 08:56
在驱动里都是异步方式的,都是立即返回的!
阻塞是由系统API函数实现的
游客

返回顶部