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.