Set di regole di utilizzo DDI (NDIS)
Usare queste regole per verificare che il driver usi correttamente NDIS DDIs.
Contenuto della sezione
Argomento | Descrizione |
---|---|
La regola Init_DeRegisterInterrupt specifica che se NdisMRegisterInterruptEx viene chiamato almeno una volta durante MPInitilize, NdisMDeregisterInterruptEx deve essere chiamato almeno una volta in MPHaltEx. |
|
La regola Init_NdisAllocateIoWorkItem specifica che se NdisAllocateIoWorkItem viene chiamato almeno una volta durante MiniportInitializeEx, la funzione NdisFreeIoWorkItem deve:
|
|
La regola Init_RegisterInterrupt specifica che la registrazione di interruzioni, che in genere si verifica durante l'inizializzazione, deve essere annullata se qualcosa non va nel processo di inizializzazione o durante l'arresto del driver miniport. Se NdisMRegisterInterruptEx viene chiamato almeno una volta durante MiniportInitializeEx, la funzione NdisMDeregisterInterruptEx deve essere chiamata almeno una volta in MiniportHaltEx. |
|
La regola Init_RegisterSG specifica che la registrazione dell'elenco di raccolta a dispersione (SG), che in genere si verifica durante l'inizializzazione, deve essere annullata se si verifica un errore nel processo di inizializzazione o durante l'arresto del driver miniport. Se NdisMRegisterScatterGatherDma viene chiamato almeno una volta durante MiniportInitializeEx, la funzione NdisMDeregisterScatterGatherDma deve essere chiamata almeno una volta in MiniportHaltEx. |
|
Un driver di filtro deve chiamare NdisFDeregisterFilterDriver dalla routine FilterDriverUnload . |
|
Dopo che NdisMDeregisterInterruptEx restituisce il controllo, il driver miniport non può chiamare la funzione NdisMSynchronizeWithInterruptEx . |
|
La regola NullCheck verifica che un valore NULL all'interno del codice driver non venga dereferenziato più avanti nel driver. Questa regola segnala un difetto se una di queste condizioni è vera:
Con le violazioni delle regole NullCheck, le istruzioni di codice più rilevanti vengono evidenziate nel riquadro albero di traccia. Per altre informazioni sull'uso dell'output del report, vedere Report di verifica driver statici e Informazioni sul visualizzatore di traccia. |
Per selezionare il set di regole di utilizzo DDI
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 DDIUsage.
Per selezionare il set di regole predefinite da una finestra del prompt dei comandi per sviluppatori di Visual Studio, specificare DDIUsage.sdv con l'opzione /check . Ad esempio:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.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).