Я включил флаг проверки NDIS / WIFI моего драйвера в Driver Verifier.Это привело к тому, что BSOD нарушил правило ndistimeddatahang .Когда я проанализировал дамп, я получил -
DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
Аргументы:
Arg1: 000000000009200f, идентификатор правила 'NdisTimedDataHang', которое было нарушено.
Arg2: fffff806cd819200, Указатель на строку, описывающую условие нарушенного правила.
Arg3: ffff87862606b110, Адрес внутреннего состояния правила (второй аргумент для! Ruleinfo).
Arg4: ffff87862606b240, Адрес дополнительных состояний (третий аргумент для! Ruleinfo).
Когда я сделал ! Ndiskd.pendingnbls , я получил список NBL, которые в данный момент ожидаютв то время как свалка была взята.Чтобы выяснить, какой НБЛ вызвал нарушение, я попытался использовать команду ! Ruleinfo с аргументами, полученными при анализе.
ruleinfo 0x9200f 0xffff87862606b110 0xffff87862606b240
но Windbg сообщил об ошибке -
Не удалось прочитать состояние правила (проверьте второй аргумент).
Что я делаю не так?Есть ли способ выяснить, какой НБЛ не удалось выполнить за 22 секунды, что является требованием для правила ndistimeddatahang?