Regola ReqNotCanceledLocal (kmdf)
La regola ReqNotCanceledLocal specifica che se una richiesta contrassegnata come annullabile viene completata in una funzione di callback di coda I/O predefinita, il metodo WdfRequestUnmarkCancelable deve essere chiamato nella richiesta di I/O prima del completamento. La richiesta di I/O deve essere completata, a meno che la richiesta non venga annullata prima di chiama WdfRequestUnmarkCancelable.
Se viene completata una richiesta contrassegnata come annullabile da WdfRequestMarkCancelable (chiamando WdfRequestComplete, WdfRequestCompleteWithInformation o WdfRequestCompleteWithPriorityBoost), il metodo WdfRequestUnmarkCancelable deve essere chiamato prima del completamento della richiesta di I/O. La richiesta può essere completata a meno che il metodo WdfRequestUnmarkCancelable restituisce lo stato uguale a STATUS_CANCELLED.
Le funzioni di callback di coda di I/O predefinite per una richiesta sono EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl, EvtIoInternalDeviceControl.
Modello di driver: KMDF
Come eseguire il test
In fase di compilazione |
---|
Eseguire il verifica driver statico e specificare la regola ReqNotCanceledLocal . Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei driver. |
Si applica a
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelableEx WdfRequestUnmarkCancelable