Partager via


Règle SpinLockSafe (wdm)

La règle SpinLockSafe spécifie que IoStartNextPacket et IoCompleteRequest ne sont pas appelés en tenant un verrou de rotation.

Cette règle spécifie également que le pilote appelle KeAcquireSpinLock ou KeAcquireSpinLockAtDpcLevel avant d’appeler KeReleaseSpinLockFromDpcLevel ou KeReleaseSpinLock, et qu’il appelle IoAcquireCancelSpinLock avant d’appeler IoReleaseCancelSpinLock.

Static Driver Verifier peut signaler de fausses violations de cette règle si le pilote inclut des verrouillages de spin imbriqués, même si ces verrous de rotation sont acquis et libérés correctement.

Modèle de pilote : WDM

Comment tester

Au moment de la compilation

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

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.

S’applique à

IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock