Condividi tramite


Set di regole varie (WDM)

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

Contenuto della sezione

Argomento Descrizione

AddDevice

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

DanglingDeviceObjectReference

La regola DanglingDeviceObjectReference specifica che il driver chiama ObDereferenceObject con lo stesso puntatore a oggetti dispositivo restituito da IoGetAttachedDeviceReference .

PnpSameDeviceObject

La regola PnpSameDeviceObject specifica che il driver chiama IoAttachDeviceToDeviceToDeviceStack 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 sulla chiave del Registro di sistema, ovvero prima di qualsiasi chiamata a ZwClose o ZwDeleteKey per chiudere o eliminare l'handle nella chiave del Registro di sistema):

ZwRegistryOpen

La regola ZwRegistryOpen specifica che dopo aver chiamato ZwOpenKey, il driver chiama solo le funzioni del Registro di sistema seguenti mantenendo un handle aperto in 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 (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 Varie.

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

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.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).