Partager via


Règle ChangeQueueState (kmdf)

La règle ChangeQueueState spécifie que le pilote WDF n’essaie pas de modifier l’état de la file d’attente à partir de threads simultanés ou n’appelle pas les DDIs changeant d’état les uns après les autres à partir du même thread. Les fonctions de rappel de changement d’état de file d’attente sont WdfIoQueueStop, WdfIoQueueStopSynchronously,WdfIoQueuePurge,WdfIoQueuePurgeSynchronously, WdfIoQueueDrain, WdfIoQueueDrainSynchronously, WdfIoQueueStopAndPurge et WdfIoQueueStopAndPurgeSynchronously. Si ces DDIs sont appelés lorsqu’un changement d’état de file d’attente est déjà en cours, un ordinateur se bloque ou ne répond plus.

Modèle de pilote : KMDF

Comment tester

Au moment de la compilation

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

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 à

WdfDeviceCreateWdfDriverCreateWdfIoQueueCreateWdfIoQueueDrainWdfIoQueueDrainSynchronouslyWdfIoQueuePurgeWdfIoQueuePurgeSynchronouslyWdfIoQueueStopWdfIoQueueStopAndPurge WdfIoQueueStopAndPurgeSynchronouslyWdfIoQueueStopSynchronously