阅读:889回复:3
pnp的处理
在wdm驱动中,处理pnp irp各次功能代码的例程是否需要调用IoCompleteRequest()?
是不是只有分发例程需要调用IoCompleteRequest()? 十分感谢! |
|
最新喜欢:dregs |
沙发#
发布于:2002-11-06 22:04
See Walt oney《Programming Windows Driver Module》
|
|
|
板凳#
发布于:2002-11-07 12:29
任何一个IRP需要而且只需要调用IoCompleteIrp一次,由于次功能例程本身被PNP分发例程调用,在PNP的分发例程中调用了IoCompleteIrp,所以那些代码没有调用。
|
|
|
地板#
发布于:2002-11-08 09:39
一种情况你关心IRP的结果,因此你需要一个完成例程,另一种情况你不关心IRP的结果,因此也不需要安装一个完成例程。有许多PnP请求属于第二类,你收到这样的IRP,然后把它们向下传递,不关心该IRP以后的情况。
派遣函数也可以在下面这两种情况下完成IRP: 如果请求是错误的(可以以容易的检测方式查明,例如要求打印机倒纸请求或卸载键盘请求),则派遣例程应以失败方式完成该请求并返回适当的出错代码。 如果请求要求得到的仅是派遣函数可以容易确定的信息(例如一个询问驱动程序版本号的控制请求),则派遣例程应立即给出回答并完成请求,返回成功状态码。 |
|
|