Règle QueuedSpinLock (wdm)
La règle QueuedSpinLock spécifie que le pilote appelle KeAcquireInStackQueuedSpinLock avant d’appeler KeReleaseInStackQueuedSpinLock et que le pilote appelle KeReleaseInStackQueuedSpinLock avant tout appel ultérieur à KeAcquireInStackQueuedSpinLock.
Les appels imbriqués sont autorisés s’ils acquièrent et libèrent des ressources différentes. Les appels imbriqués pour acquérir ou libérer les mêmes ressources violent cette règle.
Cette règle spécifie également que le pilote a appelé KeReleaseInStackQueuedSpinLock pour libérer tous les verrous de rotation en file d’attente avant la fin de la routine de répartition ou de la routine d’annulation.
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 (0x00040006)
Comment tester
Au moment de la compilation |
---|
Exécutez Static Driver Verifier et spécifiez la règle QueuedSpinLock . Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
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 de vérification de conformité DDI . |
S’applique à
KeAcquireInStackQueuedSpinLockKeReleaseInStackQueuedSpinLock