Cancel Driver Io request

Hello guys,

I wrote an inverted call for UM-KM communication using completion port. On windows XP and Server 2003 only, if I kill the process the process remains in memory for five minutes blocked in a thread that checks for new IO completion: GetQueuedCompletionStatus function.

My question is how I can cancel in kernel mode the IO request when my process is killed?
I didn’t receive any of this irps: irp_mj_cleanup, close, shutdown.

Thank you in advance.

You need to add I/O cancelation support to your driver. See this document:

https://msdn.microsoft.com/en-us/library/windows/hardware/dn613953(v=vs.85).aspx

-scott
OSR
@OSRDrivers

wrote in message news:xxxxx@ntfsd…

Hello guys,

I wrote an inverted call for UM-KM communication using completion port. On
windows XP and Server 2003 only, if I kill the process the process remains
in memory for five minutes blocked in a thread that checks for new IO
completion: GetQueuedCompletionStatus function.

My question is how I can cancel in kernel mode the IO request when my
process is killed?
I didn’t receive any of this irps: irp_mj_cleanup, close, shutdown.

Thank you in advance.

Hi,

Thanks for your response. I already implemented the I/O cancelation. I had this problem only in Windows XP.

Thanks.