RE: what we need to do When CancelIo request is made- in Application

Hi Mark

Thanks for the reply.

Is that means when “CancelIo” call is made from the application , all pended
IRP’s Cancel routines are called for that particular thread ? If there is no
cacncel routine for that particulat IRP what happens ? I could not find any
information related to this . Any help in this regard is appreciated . I
wanted to know what happens in case of "Synchronization with out cancel
routines " . I guess in this case when ever these IRP’s are cancelled by the
Io Manager the completion routine of that IRPs pended should be called
because InvokeOnCancel bit is set . But When I tested this, the cancelIo
call did not call any cancellation of IRP and my completion routine was
never called until I close the handle for the device . Am I missing
something here ?

Thanks in advance
srinivas

-----Original Message-----
From: Mark Roddy [mailto:xxxxx@hollistech.com]
Sent: Saturday, September 08, 2001 6:53 PM
To: NT Developers Interest List
Subject: [ntdev] RE: what we need to do When CancelIo request is made in
Application

If you queue IRPs, marking the IRPs as pending and returning
STATUS_PENDING from the dispatch routine for those IRPs, then the
IoManager may attempt to perform cancel processing on those IRPs, as a
consequence of thread termination or explicit thread action (CancelIo.)
See the DDK for documentation about IoSetCancelRoutine and related
documentation regarding cancel processing in drivers. The idea is that
your driver is responsible for satisfying the notification that the
originating application no longer is interested in performing the
request(s), typically by dequeueing and completing the indicated IRP(s).
It has to be your driver in the case where you ‘pended’ the IRP, as only
your driver really knows where the IRP is queued, and how to unqueue it
and complete it.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
Srinivasa Rao Deevi
Sent: Saturday, September 08, 2001 9:37 PM
To: NT Developers Interest List
Subject: [ntdev] what we need to do When CancelIo request is
made in Application

Hi all

I have a doubt about “CancelIo” request . What we need to do
in the driver level when we receive the request "CancelIo(
Handle to the device ) ? can anybody tell me How this logic works ?

Thanks in advance
srinivas


You are currently subscribed to ntdev as:
xxxxx@hollistech.com To unsubscribe send a blank email to
leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@transilica.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com