From: Maxim S. Shatskih on
IoBuildDeviceIoControlRequest assigns the IRP to the thread, which is not
always good.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim(a)storagecraft.com
http://www.storagecraft.com

"Ray Trent" <rat(a)nospam.nospam> wrote in message
news:%23GlWYsvlFHA.2904(a)TK2MSFTNGP14.phx.gbl...
> Doron Holan [MS] wrote:
> >> I have additional question
> >> shall i send a synchronic IRP ( build using
> >> IoBuildDeviceIoControlRequest )
> >> or asynchronic one (build using IoAllocateIrp ) ?
> >>
> >> Tamar.
> >
> > i think you should send an asynchronous request
>
> He should certainly *send it* asynchronously (it's always going to
> return STATUS_PENDING if it succeeds anyway, so there's not much real
> choice, except whether you wait on the event or set a completion routine).
>
> But isn't IoBuildDeviceIoControlRequest a much easier way to create this
> IRP than calling IoAllocateIrp and filling in everything by hand (and
> hoping you get everything right)?
>
> Or maybe I'm missing some subtlety :-).
> --
> ../ray\..