Thanks for the response. Can you please elaborate on
“Not necessarily. Depends on the SyncronizationScope of the Queue and it’s parent DO.”
– Ajitabh.
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@seagate.com
Sent: Monday, April 13, 2009 7:52 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WDF Queuing and Mapping question.
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@probo.com
Sent: Sunday, April 12, 2009 11:54 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] WDF Queuing and Mapping question.
On Fri, Apr 10, 2009 at 06:39:59PM -0700, Ajitabh Saxena wrote:
I need to resolve a confusion that is bugging me a little. I
have a WDF sequential queue and a WDF manual queue. My driver gets a
command from the sequential queue, fires it and then puts in the manual
queue. At this time will my driver get a new command from sequential
queue? My understanding is that the driver will not get a new command
from the sequential queue till it actually completes or cancels the
previous command. Inserting the command back in to a WDF manual queue
will not give me a new command. Is this correct?
No. As soon as you put the request into another queue, it no longer
belongs to the sequential queue. As far as the sequential queue is
concerned, the request is “completed”, so it will fire another request.
Not necessarily. Depends on the SyncronizationScope of the Queue and it’s parent DO.
Another question that I have is If I have a embedded pointer in a IOCTL
and I use WdfRequestProbeAndLockUserBufferForRead To map the buffer for
access, will the KMDF unmap the buffer when I complete/cancel the IOCTL?
Yes. The buffer “belongs” to the request, so when the request is cleaned
up, the buffer will be cleaned up, and that includes unmapping the
kernel view.
Nice simplification over having to explicitly unmap/unlock it as is necessary if you use MmProbeAndLockPages().
Phil
Philip D. Barila
Seagate Technology LLC
(720) 684-1842
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer