Set di regole di blocco (NDIS)
Usare queste regole per verificare che il driver gestisca correttamente le risorse condivise.
Contenuto della sezione
Argomento | Descrizione |
---|---|
La regola SpinLock verifica l'uso corretto dell'interfaccia di blocco di selezione NDIS. Questa regola specifica che le chiamate a NdisAcquireSpinLock vengono effettuate solo quando SpinLock si trova nello stato sbloccato. Questa regola verifica anche che SpinLock venga rilasciato prima dell'uscita della routine del gestore miniport. |
|
La regola SpinLockBalanced verifica che il numero di chiamate alle funzioni che acquisiscono un SpinLock siano uguali al numero di chiamate alle funzioni che rilasciano lo stesso SpinLock. |
|
La regola SpinLockDpr verifica l'uso corretto dell'interfaccia di blocco di selezione NDIS. Questa regola specifica che le chiamate a NdisDprAcquireSpinLock vengono effettuate solo quando il blocco di rotazione si trova nello stato sbloccato. Questa regola verifica anche che il blocco di rotazione venga rilasciato prima dell'uscita della routine del gestore miniport. |
|
La regola SpinLockDprRelease verifica che le chiamate a NdisAcquireSpinLock o NdisDprAcquireSpinLock vengano chiamate solo quando SpinLock è lo stato "sbloccato". Questa regola controlla anche che prima di uscire dalla routine del gestore miniport è stato rilasciato SpinLock. |
|
La regola SpinLockRelease specifica che un driver non deve rilasciare un blocco spin (NdisReleaseSpinLock) senza prima acquisirlo. |
Per selezionare il set di regole di blocco
Selezionare il progetto driver (con estensione vcxProj) in Microsoft Visual Studio. Dal menu Driver fare clic su Launch Static Driver Verifier....From the Driver menu, click Launch Static Driver Verifier....
Fare clic sulla scheda Regole . In Set di regole selezionare Blocca.
Per selezionare il set di regole predefinito da una finestra del prompt dei comandi per gli sviluppatori di Visual Studio, specificare Locking.sdv con l'opzione /check . Ad esempio:
msbuild /t:sdv /p:Inputs="/check:Locking.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Per altre informazioni, vedere Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).