Share via


Règle MarkingInterlockedQueuedIrps (wdm)

La règle MarkingInterlockedQueuedIrps spécifie que le pilote marque correctement l’IRP comme étant en attente avant de la mettre en file d’attente de manière verrouillée pour un traitement ultérieur.

Cette règle spécifie également que le pilote appelle IoMarkIrpPending et marque correctement l’IRP comme étant en attente avant d’appeler l’une des fonctions suivantes pour ajouter l’IRP à une file d’attente verrouillée :

Les pilotes doivent appeler IoMarkIrpPending avant d’ajouter un IRP qui nécessite plus de traitement à une file d’attente verrouillée. Sinon, un IRP pourrait être mis en file d’attente, terminé par une autre routine de pilote et libéré par le système avant que l’appel à IoMarkIrpPending se produise, provoquant ainsi un plantage.

Pour plus d’informations, consultez Synchronisation de l’annulation D’IRP.

Modèle de pilote : WDM

Comment tester

Au moment de la compilation

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

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 à

ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList

Voir aussi

MarkIrpPendingSynchronizing IRP annulation