阅读:1145回复:3
什么时候设置CancelEoutien=NULL
当请求取消一个IRP时,I/O管理器是先将该IRP的CancelRoutine设为NULL,还是在调用Cancel取消例程后有取消例程将CancelRoutine设为NULL?
|
|
沙发#
发布于:2004-09-28 11:51
取消一个irp,为什么要设置cancel routine为null呢?不用
|
|
板凳#
发布于:2004-09-28 15:55
我的理解是当取消一个IRP时系统会设置它的CancelRoutine,
但现在就是不知道什么时候设置。哪位知道请说说…… |
|
地板#
发布于:2004-09-28 18:33
当调用IoCancelIrp时,
该函数会把irp->Cancel(+24)置1,然后调用irp->CancelRoutine(+38),在把irp->CancelRoutine置NULL, ++irp->StackCount, 然后比较irp->CurrentLocation与irp->StackCount的值,在以后的操作就和本贴不相关了 |
|