Condividi tramite


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:
  1. Prepara il codice (usa dichiarazioni di tipo ruolo).
  2. Esegui Driver Verifier statico.
  3. Visualizza e analizza i risultati.

Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei driver.

Si applica a

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelableEx WdfRequestUnmarkCancelable