Правило KsIrqlDeviceCallbacks ()
Правило KsIrqlDeviceCallbacks указывает, что минипорт-драйвер потоковой передачи ядра (KS) возвращается из функции обратного вызова устройства KS с тем же IRQL, что и при вызове.
Советы по отладке
Когда средство проверки драйверов обнаруживает нарушение этого правила, он запускает проверку ошибок 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION с значением arg1 0x00081006. Arg3 (RuleState) и arg4 (SubState) проверки ошибок предоставляют указатели на дополнительные сведения о нарушении правила.
Используйте расширение отладчика !ruleinfo, чтобы узнать, какие значения IRQL были в записи и выходе функции.
Используйте команду :
!ruleinfo 0x81006 RuleState SubState.
В данных состояния правила oldIrql используется IRQL при вводе обратного вызова. NewIrql — это IRQL при выходе функции обратного вызова.
Не используйте !irql для определения текущего IRQL , так как средство проверки драйверов, возможно, вызвало IRQL перед проверкой ошибок. Вместо этого используйте средство проверки !verifier 0x008 для просмотра журналов IRQL.
Модель драйвера: KS
Ошибки, обнаруженные с помощью этого правила: проверка ошибок 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081006)
Как тестировать
во время выполнения |
---|
Чтобы проверить это правило, откройте окно командной строки. Введите команду средства проверки драйверов и укажите /domain ks. Например: проверяющий /домен ks [параметры] /driver <yourdriver> Дополнительные сведения см. в разделе "Проверка драйверов". |