Правило MarkingInterlockedQueuedIrps (wdm)
Правило MarkingInterlockedQueuedIrps указывает, что драйвер правильно помечает IRP как ожидающий, прежде чем помещает его в очередь для дальнейшей обработки.
Это правило также указывает, что драйвер вызывает IoMarkIrpPending и правильно помечает IRP как ожидающий, прежде чем он вызовет любую из следующих функций для добавления IRP в заблокированную очередь:
Драйверы должны вызывать IoMarkIrpPending перед добавлением IRP, требующего дополнительной обработки, в заблокированную очередь. В противном случае IRP может быть выведен из очереди, завершен другой подпрограммой драйвера и освобожден системой до вызова IoMarkIrpPending , что приведет к сбою.
Дополнительные сведения см. в разделе Синхронизация отмены IRP.
Модель драйвера: WDM
Как тестировать
Во время компиляции |
---|
Запустите средство проверки статических драйверов и укажите правило MarkingInterlockedQueuedIrps . Чтобы выполнить анализ кода, выполните следующие действия.
Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
Применяется к
ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList