Re: [ntdev] Re: [ntdev] [NTDEV]How to pending a IO Request in WDF driver on Windows 7

lizzoe wrote:

You mean that’s impossible in synchronous I/O? A uncompleted Read
request is bound to block other Write request? Is there a document
can explain it ?

Of course it is. That’s the very definition if “synchronous I/O”. This
is just a fundamental principle of Windows user mode I/O, and has very
little to do with kernel drivers. Unless you use overlapped I/O, you
can only have one I/O request at a time on any given file handle. A
ReadFile (or WriteFile or DeviceIoControl) call will not return until
the IRP is completed, and no other thread can submit another request.

If you want to have multiple I/O requests on a single file handle, you
must use overlapped I/O.

With overlapped I/O, as soon as your dispatch handler returns, the
application can continue on to do other things, whether or not you
completed the IRP.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.