Condividi tramite


Set di regole IrpProcessing (KMDF)

Usare queste regole per verificare che il driver elabori correttamente i pacchetti di richieste di I/O (IRP).

In questa sezione

Argomento Descrizione

FwdIrpToIoQueueValid

La regola FwdIrpToIoQueueValid specifica che il driver invia un IRP a una coda di I/O usando il metodo WdfDeviceWdmDispatchIrpToIoQueue dal callback EvtDeviceWdmIrpDispatch o dal callback EvtDeviceWdmIrpPreprocess.

SetCompletionRoutineFromDispatch

La regola SetCompletionRoutineFromDispatch verifica che il driver non specifichi una routine di completamento in un IRP dalla funzione di callback EvtDeviceWdmIrpDispatch.

MiniportOnlyWdmDevice

La regola MiniportOnlyWdmDevice specifica che i driver WDF non devono usare le funzioni IoCreateDevice e IoCreateDeviceSecure per creare oggetti dispositivo WDM bare. In questo modo il computer si arresta in modo anomalo se un utente tenta di inviare un IRP al dispositivo WDM. Ciò è dovuto al fatto che le voci di invio IRP del dispositivo sono impostate su voci specifiche di WDF, ma il framework non ha creato un dispositivo WDF. Tuttavia, i driver miniport possono usare le DDI perché i punti di ingresso di invio del driver non sono impostati per loro.

Per selezionare il set di regole IrpProcessing

  1. Selezionare il progetto driver (con estensione vcxProj) in Microsoft Visual Studio. Dal menu Driver fare clic su Launch Static Driver Verifier...(Avvia verifica driver statico...).

  2. Fare clic sulla scheda Regole . In Set di regole selezionare IrpProcessing.

    Per selezionare il set di regole predefinito da una finestra del prompt dei comandi per sviluppatori di Visual Studio, specificare IrpProcessing.sdv con l'opzione /check . Ad esempio:

    msbuild /t:sdv /p:Inputs="/check:IrpProcessing.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Per altre informazioni, vedere Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).