Thanks to Peter, Doron, Calvin and Tim.
Tim: I had the same question as yours after reading Peter’s mail. Doron
has answered that. Thanks again, Doron.
Calvin: I think at this point, if CSQ works as I understand, it should
suffice. I intentionally wanted to move away from using ‘Cancel’
routines. Thank you for offering to help.
Bandeep
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Tuesday, February 08, 2005 3:24 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Cancel Safe IRP Queuing
The CSQ will call your cancel routine inline in the call to
IoCsqInsertIrp. This means that if you grab a lock before calling
IoCsqInsertIrp, you cannot grap the same lock in your cancellation
routine. The lock / unlock functions that the IOCSQ call will work
properly, this only applies to locks acquire outside of those iocsq
function pointers.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Monday, February 07, 2005 10:07 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Cancel Safe IRP Queuing
Peter Viscarola (OSR) wrote:
YES! Exactly. But, note that the CSQ checks to see if the IRP you
insert into it has already been cancelled (for example, your IRP could
be cancelled between the time you remove it from the “pending” CSQ and
before you put in on your “in progress” CSQ.
…and if it HAS been cancelled, then what? IoCsqInsertIrp returns
“void”, so there’s no way for us to be notified. Does it complete the
IRP, so that it evaporates?
It is clearly a fabulous tool, but there are still some semantics of the
CSQ routines that elude me.
–
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com