sunwill_chen
驱动小牛
驱动小牛
  • 注册日期2007-08-19
  • 最后登录2009-09-28
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望130点
  • 贡献值1点
  • 好评度97点
  • 原创分0分
  • 专家分0分
阅读:1765回复:6

KeWaitForSingleObject不返回,请教

楼主#
更多 发布于:2007-09-27 14:48
在提交Irp并返回未决状态(STATUS_PENDING)时,有一个调用KeWaitForSingleObject来等待URB完成,但是为什么读和写时总是不返回,而其他像获取描述符或设置接口等操作都能够成功完成,为什么呢? 请高手指点一二
oushengfen
驱动牛犊
驱动牛犊
  • 注册日期2007-06-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分747分
  • 威望124点
  • 贡献值1点
  • 好评度82点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-27 14:55
应该是固件程序的原因,再说,读写一般不需要在驱动中去使用KeWaitForSingleObject,直接设置为完成状态就行了,然后在WIN32下用WaitForSingleObject去等待
sunwill_chen
驱动小牛
驱动小牛
  • 注册日期2007-08-19
  • 最后登录2009-09-28
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望130点
  • 贡献值1点
  • 好评度97点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-27 15:16
多谢,可是直接设置完成的话,会出现0xD1 DRIVER_IRQL_NOT_LESS_OR_EQUAL 蓝屏,不知道你说的在win32下设置WaitForSingleObject能否解决这个问题。 我现在还是先解决不返回这个问题,先试着改下固件。
sunwill_chen
驱动小牛
驱动小牛
  • 注册日期2007-08-19
  • 最后登录2009-09-28
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望130点
  • 贡献值1点
  • 好评度97点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-09-27 16:20
还是搞不懂啊,不知道要用什么样的固件, 我用的是EZUSB开发版,里面有很多固件例子可是我下载任何一个到开发板都还是不返回, 请指点,多谢
rangzh
驱动小牛
驱动小牛
  • 注册日期2005-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望150点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-11-02 18:40
增加超时机制,一段时间不返回则cancel该IRP。如果此irp来自上面,则失败之
bamu1984z
驱动牛犊
驱动牛犊
  • 注册日期2006-09-18
  • 最后登录2008-07-24
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望78点
  • 贡献值0点
  • 好评度76点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-11-02 18:47
读写的为什么用同步IRP呢?
luckybirdtom
驱动牛犊
驱动牛犊
  • 注册日期2005-04-06
  • 最后登录2012-05-02
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望52点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-02-23 18:16
为什么没有解决这个问题呢,我也是这个问题,用DriverStudio写的驱动KeWaitForSingleObject能返回,而用ddk框架写的驱动KeWaitForSingleObject就永远阻塞,永远不返回!
游客

返回顶部