Règle SpinlockRelease (wdm)

La règle SpinlockRelease spécifie que les appels à KeReleaseSpinLock sont effectués en alternance stricte avec KeAcquireSpinLock et KeAcquireSpinLockRaiseToDpc. Autrement dit, le pilote doit appeler KeReleaseSpinLock après avoir appelé KeAcquireSpinLock ou KeAcquireSpinLockRaiseToDpc et avant les appels suivants à KeAcquireSpinLock ou à KeAcquireSpinLockRaiseToDpc.

Modèle de pilote : WDM

Bogues case activée trouvés avec cette règle : 0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION (0x0004000B)

Comment tester

Au moment de la compilation

Exécutez Static Driver Verifier et spécifiez la règle SpinlockRelease .

Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
  1. Préparez votre code (utilisez les déclarations de type).
  2. Exécutez le vérificateur de pilote statique.
  3. Affichez et analysez les résultats.

Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes.

Au moment de l'exécution

Exécutez Driver Verifier et sélectionnez l’option vérification de conformité DDI (supplémentaire).

S’applique à

KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLockKeTryToAcquireSpinLockAtDpcLevel