KsIrqlDeviceCallbacks 规则 ()

KsIrqlDeviceCallbacks 规则指定内核流式处理 (KS) 微型端口驱动程序从 KS 设备回调函数返回,其调用时使用的 IRQL 相同。

调试提示

当驱动程序验证程序检测到此规则的冲突时,它会触发 bug 检查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION,其 arg1 值为 0x00081006。 bug 检查的 arg3 (RuleState) 和 arg4 (SubState) 提供了指向有关规则冲突的其他信息的指针。

使用 !ruleinfo 调试器扩展来了解 IRQL 值在函数进入和退出时的值。

使用 命令:

!ruleinfo 0x81006 RuleState SubState

在规则状态数据中,在输入回调时, OldIrql 是 IRQL。 退出回调函数时, NewIrql 是 IRQL

请勿使用 !irql 来确定当前的 IRQL,因为驱动程序验证程序可能在 bug 检查之前引发 IRQL。 请改用 !verifier 0x008 查看 IRQL 日志。

驱动程序模型:KS

通过此规则找到 Bug 检查: Bug 检查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081006)

如何测试

运行时

若要验证此规则,请打开命令提示符窗口。 输入驱动程序验证程序命令并指定 /domain ks

例如:

verifier /domain ks [options] /driver <yourdriver>

有关详细信息,请参阅驱动程序验证程序