Re: IRP and Queue ? by Peter
Peter
Wed Aug 10 11:29:44 CDT 2005
And since that's under the control of the application, the driver needs to
be prepared for asynchronous I/O and properly handle multiple requests at
one time itself.
Also be sure you understand the difference between a dispatch routine (which
can be called on multipel threads at once) and a StartIo routine.
IoStartPacket provides serialization and will only be called on one thread
at a time (though it's called at dispatch level so it's really only one
processor at a time)
-p
--
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.
"Doron Holan [MS]" <doronh@nospam.microsoft.com> wrote in message
news:uWtDBxWnFHA.2920@TK2MSFTNGP14.phx.gbl...
> all i/o will be serialized by the i/o manager unless you open the HANDLE
> as FILE_FLAG_OVERLAPPED
>
> 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.
>
>
> "poly" <poly@no-span.com> wrote in message
> news:%23qP5HMWnFHA.3568@TK2MSFTNGP10.phx.gbl...
>>I try to use read thread and write thread working with the same handle.
>>And make the threads pass IRP R/W continuity.
>> One IRP received after another IRP compeleted.
>>
>> Why we prepare queue if the irp always go on this way?
>>
>> "poly" <poly@no-span.com>
>> ¼¶¼g©ó¶l¥ó·s»D:%23L4DZBWnFHA.2080@TK2MSFTNGP14.phx.gbl...
>>>i get a little misunderstand..
>>>
>>>
>>> 1 Overlapped API returned after driver return pending.
>>> 2 Does IO manager pass down IRP one by one?
>>>
>>> Serial sample code manage Queue by itself, Start Irp if there is no any
>>> Irp is processing, otherwise queue it .
>>> If there is current irp working now, it will not return until compelete.
>>> How can the second Irp go into queue?
>>>
>>> Poly
>>>
>>>
>>
>>
>
>