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

Re: IRP and Queue ? by poly

poly
Tue Aug 09 23:30:58 CDT 2005

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
>
>



Re: IRP and Queue ? by Doron

Doron
Wed Aug 10 00:27:49 CDT 2005

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
>>
>>
>
>



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
>>>
>>>
>>
>>
>
>


Re: IRP and Queue ? by poly

poly
Fri Aug 12 01:13:46 CDT 2005

Thank you for your replay!
I get it now.

"Peter Wieland [MSFT]" <peterwie@nospam.microsoft.com>
???????:%23QnK4icnFHA.3828@TK2MSFTNGP12.phx.gbl...
> 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
>>>>
>>>>
>>>
>>>
>>
>>
>