Поделиться через


Правило 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>

Дополнительные сведения см. в разделе "Проверка драйверов".