阅读:1066回复:3
关于驱动中IRP的问题
请问我在应用程序中用deviceiocontrol对USB设备进行读写操作。若发了读请求后IRP已经正确地传送到了总线,但USB设备没有数据因此该读请求没有完成。此时IRP的状态该是什么样的,是successful还是一直等在那里(驱动中用的是同步IRP)?在应用程序中deviceiocontrol返回的又应是什么值?
若过了一段时间以后,USB设备有了数据,此时这个IRP是否该自动完成读数据。那么现在的IRP状态又应该是什么样的,还有应用程序中deviceiocontrol返回应是什么值? |
|
沙发#
发布于:2004-10-21 20:17
大侠们救命啊
|
|
板凳#
发布于:2004-10-22 13:20
内核io操作始终是异步的,没有完成就是挂起状态(pending),完成后io管理器回通知用户模式程序。
|
|
地板#
发布于:2004-10-24 14:08
谢谢你的回答。
请问你说的完成后io管理器通知用户模式程序是否就是说此时deviceiocontrol会返回一个值表示该操作是成功的? 内核io操作始终是异步的,没有完成就是挂起状态(pending),完成后io管理器回通知用户模式程序。 |
|