InvalidReqAccessLocal rule (kmdf)
The InvalidReqAccessLocal rule specifies that locally created requests are not accessed after they are completed or canceled. This rule might overlap with other rules, such as rules that check for double completion, or rules that check for requests have been marked cancelable two times.
A request is considered invalid if it is completed, marked cancelable, or canceled after it was sent. After the request is considered invalid, the request cannot be passed to WdfRequestXxx functions, except when the driver calls WdfRequestUnmarkCancelable if the request was previously marked cancelable.
This rule is similar to the InvalidReqAccess rule; however, the InvalidReqAccessLocal rule is only performed within the default I/O queue callback functions.
How to test
|At compile time|
Run Static Driver Verifier and specify the InvalidReqAccessLocal rule.Use the following steps to run an analysis of your code:
For more information, see Using Static Driver Verifier to Find Defects in Drivers.