Condividi tramite


Regola RequestCompleted (kmdf)

La regola RequestCompleted specifica che per un driver non filtro ogni richiesta presentata alla coda di I/O predefinita del driver deve essere completata, a meno che la richiesta non venga posticipata o inoltrata o se viene chiamato WdfRequestStopAcknowledge .

Una richiesta di I/O presentata alla coda predefinita del driver tramite una delle funzioni di callback della coda deve essere completata prima di uscire dalle funzioni di callback delle richieste di I/O, tranne nei casi seguenti:

La regola viene verificata quando il driver esce dalle funzioni di callback seguenti:

Le funzioni di callback della coda di I/O per la presentazione delle richieste sono EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl e EvtIoInternalDeviceControl

Modello di driver: KMDF

Come eseguire il test

In fase di compilazione

Eseguire Static Driver Verifier e specificare la regola RequestCompleted .

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 Using Static Driver Verifier to Find Defects in Drivers.For more information, see Using Static Driver Verifier to Find Defects in Drivers.

Si applica a

WdfDeviceEnqueueRequestWdfDmaTransactionInitializeWdfDmaTransactionInitializeUsingRequestWdfIoTargetSendInternalIoctlOthersSynchronouslyWdfIoTargetSendInternalIoctlSynchronouslyWdfIoTargetSendIoctlSynchronouslyWdfIoTargetSendReadSynchronouslyWdfIoTargetSendWriteSynchronouslyWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestForwardToIoQueueWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestSendWdfRequestStopAcknowledgeWdfWorkItemEnqueue