阅读:1274回复:1
大家进来看一下呀!
最近写一个键盘过滤器,在IRP_MJ_READ例程里设了完成例程,可是为什么在完成例程中的第一个参数
pDeviceObject却是0,哪位高人给解释一下这是什么原因? 在下感激不尽!先谢谢了!!! ![]() ![]() |
|
|
沙发#
发布于:2007-12-11 22:39
完成例程使用的设备对象指针参数就是I/O堆栈单元中DeviceObject域中的指针。通常IoCallDriver设置该值。有时,在创建IRP时还同时创建一个额外的堆栈单元,以便能向完成例程传递参数而不用创建一个额外的上下文结构。如果此时创建者不去设置这个额外的DeviceObject域,那么完成例程得到的设备对象指针将为NULL。
|
|