MarkingInterlockedQueuedIrps-Regel (wdm)

Die MarkingInterlockedQueuedIrps-Regel gibt an, dass der Treiber den IRP ordnungsgemäß als ausstehend markiert, bevor er es für die weitere Verarbeitung in eine verriegelte Weise in die Warteschlange stellt.

Diese Regel gibt auch an, dass der Treiber IoMarkIrpPending aufruft und den IRP ordnungsgemäß als ausstehend markiert, bevor er eine der folgenden Funktionen aufruft, um den IRP einer ineinander verriegelten Warteschlange hinzuzufügen:

Treiber sollten IoMarkIrpPending aufrufen, bevor sie eine IRP hinzufügen, die mehr Verarbeitung zu einer intakten Warteschlange erfordert. Andernfalls könnte ein IRP dequeuiert, von einer anderen Treiberroutine abgeschlossen und vom System freigegeben werden, bevor der Aufruf von IoMarkIrpPending erfolgt, wodurch ein Absturz verursacht wird.

Weitere Informationen finden Sie unter Synchronisieren von IRP-Abbruch.

Treibermodell: WDM

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie Static Driver Verifier aus, und geben Sie die MarkingInterlockedQueuedIrps-Regel an.

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Gilt für:

ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList

Weitere Informationen

MarkIrpPendingSynchronisieren von IRP-Abbruch