The page entitled “Cancelling I/O requests” says
Drivers that cancel I/O requests must always call WdfRequestComplete,
WdfRequestCompleteWithInformation, or WdfRequestCompleteWithPriorityBoost,
with a Status parameter of STATUS_CANCELLED, to finish canceling the request.
whereas the comments section for WdfRequestCreate says
If a driver calls WdfRequestCreate to create a request object, it must not
call WdfRequestComplete for the request object. Instead, the driver must
call WdfObjectDelete when it has finished using the request object.
For more information, see Completing I/O Requests.
My guess is the first paragraph needs to cater for the case of driver created
requests.
Don
Correct. For driver created requests which are sent to an io target
that are canceled, they should not be completed. A doc bug has been
filed.
d
– I can spell, I just can’t type.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Ward
Sent: Sunday, June 25, 2006 2:31 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] KMDF1.1 Docs are contradictory wrt request completion
The page entitled “Cancelling I/O requests” says
Drivers that cancel I/O requests must always call WdfRequestComplete,
WdfRequestCompleteWithInformation, or
WdfRequestCompleteWithPriorityBoost,
with a Status parameter of STATUS_CANCELLED, to finish canceling the
request.
whereas the comments section for WdfRequestCreate says
If a driver calls WdfRequestCreate to create a request object, it must
not
call WdfRequestComplete for the request object. Instead, the driver
must
call WdfObjectDelete when it has finished using the request object.
For more information, see Completing I/O Requests.
My guess is the first paragraph needs to cater for the case of driver
created requests.
Don
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer