Condividi tramite


Set di regole varie (WDM)

Usare queste regole per verificare che il driver segua correttamente un set generale di requisiti per la corretta gestione delle chiavi del Registro di sistema, delle stringhe e dei puntatori a oggetti del dispositivo.

In questa sezione

Argomento Descrizione

AddDevice

La regola AddDevice specifica che la routine AddDevice del driver chiama IoAttachDeviceToDeviceStack solo dopo aver chiamato IoCreateDevice.

DanglingDeviceObjectReference

La regola DanglingDeviceObjectReference specifica che il driver chiama ObDereferenceObject con lo stesso puntatore all'oggetto dispositivo restituito da IoGetAttachedDeviceReference.

PnpSameDeviceObject

La regola PnpSameDeviceObject specifica che il driver chiama IoAttachDeviceToDeviceStack con un puntatore a un oggetto dispositivo di destinazione valido.

TargetRelationNeedsRef

La regola TargetRelationNeedsRef specifica che durante l'elaborazione di una query TargetDeviceRelation , la routine DispatchPnP del driver chiama una delle funzioni seguenti per fare riferimento al PDO del dispositivo figlio:

UnSafeAllocatePool

UnSafeAllocatePool è una regola di sicurezza importante che verifica che un driver non usi DDI deprecati per allocare memoria.

ZwRegistryCreate

La regola ZwRegistryCreate specifica che, dopo aver chiamato ZwCreateKey, il driver può chiamare le funzioni del Registro di sistema seguenti solo tenendo premuto un handle aperto per la chiave del Registro di sistema (ovvero prima di qualsiasi chiamata a ZwClose o ZwDeleteKey per chiudere o eliminare l'handle alla chiave del Registro di sistema):

ZwRegistryOpen

La regola ZwRegistryOpen specifica che, dopo aver chiamato ZwOpenKey, il driver chiama le funzioni del Registro di sistema seguenti solo tenendo premuto un handle aperto su una chiave del Registro di sistema (ovvero, prima di chiamare ZwClose o ZwDeleteKey):

Per selezionare il set di regole varie

  1. Selezionare il progetto driver (.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 Varie.

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

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

    Per altre informazioni, vedere Uso di Static Driver Verifier per individuare difetti nei driver e Comandi di Static Driver Verifier (MSBuild).