Hi all,
Can I receive another IRP at the same device while an early IRP was
marked as pending ?
Thanks in advance.
Hi all,
Can I receive another IRP at the same device while an early IRP was
marked as pending ?
Thanks in advance.
Surely yes.
----- Original Message -----
From: Fernando Roberto da Silva
To: NT Developers Interest List
Sent: Friday, February 07, 2003 4:19 PM
Subject: [ntdev] Processing more than one IRP
Hi all,
Can I receive another IRP at the same device while an early IRP was marked as pending ?
Thanks in advance.
You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
> Fernando Roberto da Silva wrote:
Can I receive another IRP at the same device while an early IRP
was marked as pending ?
In general yes, but there are some qualifications. If an app opens a
handle without FILE_FLAG_OVERLAPPED, all the Win32 API calls will be
synchronous. If another thread in the same process attempts to do I/O
using the same handle, it will be held up until previous I/O finishes.
–
Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Now teaming with John Hyde for USB Device Engineering Seminars
Check out our schedule at http://www.oneysoft.com
However, an app could open multiple handles for the same device and there could be multiple apps…
In general, a driver should not rely on a particular behavior of an app. This is a basic principle of device driver design.
–
Udo Eberhardt
Thesycon GmbH, Germany
xxxxx@thesycon.de
www.thesycon.de
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Walter Oney
Sent: Friday, February 07, 2003 6:09 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Processing more than one IRP> Fernando Roberto da Silva wrote:
> Can I receive another IRP at the same device while an early IRP
> was marked as pending ?In general yes, but there are some qualifications. If an app opens a
handle without FILE_FLAG_OVERLAPPED, all the Win32 API calls will be
synchronous. If another thread in the same process attempts to do I/O
using the same handle, it will be held up until previous I/O finishes.–
Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Now teaming with John Hyde for USB Device Engineering Seminars
Check out our schedule at http://www.oneysoft.com
You are currently subscribed to ntdev as: xxxxx@thesycon.de
To unsubscribe send a blank email to xxxxx@lists.osr.com
Unfortunately this aspect of the Win32 (and NT) API doesn’t stop
upper-level or client drivers which build IRPs and call IoCallDriver to
send them.
Your driver needs to take care of serializing the requests as they come
in to the dispatch routines if this is what your deisgn call for.
-p
-----Original Message-----
From: Walter Oney [mailto:xxxxx@oneysoft.com]
Sent: Friday, February 07, 2003 9:09 AM
To: NT Developers Interest List
Fernando Roberto da Silva wrote:
Can I receive another IRP at the same device while an early IRP
was marked as pending ?
In general yes, but there are some qualifications. If an app opens a
handle without FILE_FLAG_OVERLAPPED, all the Win32 API calls will be
synchronous. If another thread in the same process attempts to do I/O
using the same handle, it will be held up until previous I/O finishes.
–
Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars Now teaming with John
Hyde for USB Device Engineering Seminars Check out our schedule at
http://www.oneysoft.com
You are currently subscribed to ntdev as: xxxxx@microsoft.com To
unsubscribe send a blank email to xxxxx@lists.osr.com
Peter Wieland wrote:
Unfortunately this aspect of the Win32 (and NT) API doesn’t stop
upper-level or client drivers which build IRPs and call IoCallDriver to
send them.Your driver needs to take care of serializing the requests as they come
in to the dispatch routines if this is what your deisgn call for.
Right. I jumped to the conclusion that what he was really asking was,
“I’m trying to send another IRP while one is pending, and it isn’t
working.” I should have thought of the alternate question “Can I write
my driver on the assumption that I’ll never get a second IRP while I
have one pending”.
–
Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Now teaming with John Hyde for USB Device Engineering Seminars
Check out our schedule at http://www.oneysoft.com