Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare queste regole per verificare che il driver usi correttamente le DDI WDM.
In questa sezione
| Argomento | Descrizione |
|---|---|
La regola DebugBreakUsage specifica che il driver non deve chiamare DbgBreakPoint o DbgBreakPointWithStatus. Questa regola si applica solo quando si compila una versione non di debug del driver. |
|
La regola DoubleFetch verifica la presenza di un doppio recupero dai puntatori alla memoria in modalità utente. I doppi accessi in modalità kernel alla memoria in modalità utente possono causare un problema di sicurezza di condizione di gara. Quando si accede ai dati in modalità utente, il codice in modalità kernel deve creare una copia dei dati in modalità utente in locale ed evitare di accedere più volte ai dati in modalità utente. In caso contrario, si verifica un tipo di problema noto come "doppio recupero", in cui i dati possono cambiare dopo l'accesso. |
|
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 dell'albero di traccia. Per altre informazioni sull'utilizzo dell'output del report, vedere Static Driver Verifier Report e Understanding the Trace Viewer. |
|
La regola SafeStrings specifica che il driver chiama solo le funzioni di manipolazione delle stringhe che proteggono il sistema da intrusioni involontarie o dannose. Queste funzioni stringa sicure per i driver sono definite in Ntstrsafe.h. |
|
La regola ObsoleteDDIs specifica che i driver non devono chiamare FsRtlPrivateLock. Questa funzione è obsoleta. In alternativa, usare FsRtlFastLock. |
Per selezionare il set di regole di utilizzo DDI
Selezionare il progetto driver (.vcxProj) in Microsoft Visual Studio. Dal menu Driver fare clic su Launch Static Driver Verifier...(Avvia verifica driver statico...).
Fare clic sulla scheda Regole . In Set di regole selezionare DDIUsage.
Per selezionare il set di regole predefinito da una finestra del prompt dei comandi per sviluppatori di Visual Studio, specificare DDIUsage.sdv con l'opzione /check . Per esempio:
msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Per altre informazioni, vedere Uso di Static Driver Verifier per individuare difetti nei driver e Comandi di Static Driver Verifier (MSBuild).