Condividi tramite


Set di regole di avviso (WDM)

Usare queste regole per verificare che il driver possa elaborare correttamente i provider di servizi di integrazione in vari contesti e seguire le procedure consigliate di Microsoft.

Contenuto della sezione

Argomento Descrizione

CheckDeviceObjectFlags

La regola CheckDeviceObjectFlags specifica che un driver del bus deve verificare che i flag dell'oggetto dispositivo per DO_POWER_PAGABLE e DO_POWER_INRUSH siano impostati in modo coerente per l'oggetto FDO e i PDO figlio. Questa regola si applica solo ai driver del bus.

CompletamentoEventChecking

La regola CompletionEventChecking specifica che un driver non chiama IoMarkIrpPending e KeSetEvent in una routine di completamento per la stessa IRP.

DeleteDevice

La regola DeleteDevice specifica che i driver non devono basarsi su I/O Manager o PnP Manager per mantenere attivo DeviceObject dopo una chiamata a IoDeleteDevice.

MultRemoveLock

La regola MultRemoveLock verifica che IoAcquireRemoveLock venga chiamato con un solo blocco remove univoco. Si tratta di una regola di avviso.

PagedCode

La regola PagedCode specifica che il driver chiama la macro PAGED_CODE solo quando viene eseguito in IRQL <= APC_LEVEL.

PagedCodeAtPowerTrans

La regola PagedCodeAtPowerTrans specifica che un driver non deve chiamare PAGED_CODE durante la risposta a un sistema IRP_MJ_POWER Irp (IRP_MN_SET_POWER) e a un dispositivo IRP_MJ_POWER Irp (IRP_MN_SET_POWER).

RiservatoDDIs

La regola ReservedDDIs verifica che i driver non chiamino funzioni riservate.

Per selezionare il set di regole di avviso

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

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

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

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

    Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei comandi driver e verifica driver statici (MSBuild).