ReqNotCanceledLocal rule (kmdf)
The ReqNotCanceledLocal rule specifies that if a request marked as cancelable is completed in a default I/O queue callback function, the WdfRequestUnmarkCancelable method must be called on the I/O request before completion. The I/O request must be completed, unless the request is canceled before it calls WdfRequestUnmarkCancelable.
If a request that was marked as cancelable by WdfRequestMarkCancelable is completed (by calling WdfRequestComplete, WdfRequestCompleteWithInformation, or WdfRequestCompleteWithPriorityBoost), the WdfRequestUnmarkCancelable method must be called before the I/O request is completed. The request can be completed unless the WdfRequestUnmarkCancelable method returns status that is equal to STATUS_CANCELLED.
How to test
|At compile time|
Run Static Driver Verifier and specify the ReqNotCanceledLocal 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.