Ensemble de règles de verrouillage (NDIS)
Utilisez ces règles pour vérifier que votre pilote gère correctement les ressources partagées.
Contenu de cette section
Rubrique | Description |
---|---|
La règle SpinLock vérifie l’utilisation correcte de l’interface de verrouillage de rotation NDIS. Cette règle spécifie que les appels à NdisAcquireSpinLock sont effectués uniquement lorsque le SpinLock est dans l’état déverrouillé. Cette règle vérifie également que spinlock est libéré avant la fermeture de la routine du gestionnaire miniport. |
|
La règle SpinLockBalanced vérifie que le nombre d’appels aux fonctions qui acquièrent un SpinLock est égal au nombre d’appels aux fonctions qui libèrent le même SpinLock. |
|
La règle SpinLockDpr vérifie l’utilisation correcte de l’interface de verrouillage de rotation NDIS. Cette règle spécifie que les appels à NdisDprAcquireSpinLock sont effectués uniquement lorsque le verrou de rotation est à l’état déverrouillé. Cette règle vérifie également que le verrou de rotation est libéré avant la fermeture de la routine du gestionnaire miniport. |
|
La règle SpinLockDprRelease vérifie que les appels à NdisAcquireSpinLock ou NdisDprAcquireSpinLock sont appelés uniquement lorsque l’état SpinLock est « déverrouillé ». Cette règle vérifie également qu’avant de quitter la routine de gestionnaire miniport, spinlock a été libéré. |
|
La règle SpinLockRelease spécifie qu’un pilote ne doit pas libérer un verrou tournant (NdisReleaseSpinLock) sans l’acquérir au préalable. |
Pour sélectionner l’ensemble de règles de verrouillage
Sélectionnez votre projet de pilote (.vcxProj) dans Microsoft Visual Studio. Dans le menu Pilote , cliquez sur Lancer le vérificateur de pilote statique....
Cliquez sur l’onglet Règles . Sous Ensembles de règles, sélectionnez Verrouillage.
Pour sélectionner l’ensemble de règles par défaut à partir d’une fenêtre d’invite de commandes développeur Visual Studio, spécifiez Locking.sdv avec l’option /case activée. Par exemple :
msbuild /t:sdv /p:Inputs="/check:Locking.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes et commandes MSBuild (Static Driver Verifier).