Re: Returning order of CompletionRoutines() and IoCallDriver() by Doron
Doron
Thu Mar 09 00:18:47 CST 2006
if A is at the top and D is at the bottom, the completion routines would
execute in reverse order (C, B, A). It is not safe to assume a PIRP is
synchronous w/out checking the NTSTATUS returned by IoCallDriver.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
<zedy1984@gmail.com> wrote in message
news:1141867530.649578.54590@p10g2000cwp.googlegroups.com...
> Hi
>
> Let's say I'm a high level driver and i call IoCallDriver to pass an
> IRP down
> the stack, and the whole operation is synchronous.
> There are several devices in the stack (let's say A,B,C,D), each one of
> them has a completion routine (except D). After device D completes the
> irp, all completion routines for all the devices are being called, and
> only afterwards all the IoCallDriver() routines of all the devices
> return? (or if I'm wrong, what is the right order?)
>
> Thanks
>