Set di regole VirtualStorport (Storport)
Usare queste regole per verificare che il driver chiami correttamente le DDI che sono di particolare interesse per i driver miniport virtuali Storport (VMiniport).
Contenuto della sezione
Argomento | Descrizione |
---|---|
Questa regola verifica che il driver non tenti di liberare due volte lo stesso blocco di memoria del pool. |
|
Questa regola verifica che KeSetEvent non venga chiamato due volte nello stesso oggetto evento. Se lo stesso oggetto evento viene passato alla routine, il driver non riesce la regola. |
|
Questa regola verifica che un'IRP allocata da IoAllocateIrp verrà liberata da IoFreeIrp o dalla routine di completamento verrà impostata da IoSetCompletionRoutine. |
|
Questa regola verifica che all'uscita dalla routine HwStorFindAdapter , il campo VirtualDevice nella struttura PORT_CONFIGURATION_INFORMATION (Storport) sia stato impostato su FALSE. La regola si applica solo ai miniport StorPort fisici. |
|
Questa regola verifica che all'uscita dalla routine HwStorFindAdapter , il campo VirtualDevice nella struttura PORT_CONFIGURATION_INFORMATION (Storport) sia stato impostato su TRUE. La regola si applica solo ai miniport StorPort virtuali. |
|
Questa regola verifica che le chiamate del driver a determinate funzioni di sincronizzazione vengano eseguite solo mentre il recapito APC del kernel normale è disabilitato. |
|
Questa regola verifica che l'handle a una chiave del Registro di sistema creata con ZwCreateKey venga successivamente usata correttamente da altre routine ZwXxx . La routine ZwOpenKey non deve essere chiamata su un handle già aperto. Le routine ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose e ZwDeleteKey non devono essere chiamate su un handle che non è aperto. L'handle deve essere chiuso anche prima di restituire. |
|
Questa regola verifica che l'handle della chiave del Registro di sistema aperto tramite ZwOpenKey venga successivamente usato correttamente da altre routine ZwXxx. Le routine ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose e ZwDeleteKey non devono essere chiamate su un handle che non è aperto. L'handle deve essere chiuso anche prima di restituire. |
Per selezionare il set di regole VirtualStorport
Selezionare il progetto driver (con estensione vcxProj) in Microsoft Visual Studio. Dal menu Driver fare clic su Avvia verifica driver statico....
Fare clic sulla scheda Regole . In Set di regole selezionare VirtualStorport.
Per selezionare il set di regole predefinito da una finestra del prompt dei comandi per sviluppatori di Visual Studio, specificare VirtualStorport.sdv con l'opzione /check . Ad esempio:
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.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).