IrqlKeReleaseSpinLock 规则 (wdm)

IrqlKeReleaseSpinLock 规则指定驱动程序仅在 IRQL 执行时调用 KeReleaseSpinLock 等于 DISPATCH_LEVEL。

此规则还指定调用 KeReleaseSpinLock 中的 NewIrql 参数的值等于在调用 KeAcquireSpinLock 之前执行驱动程序的 IRQL。 (此值也是KeAcquireSpinLock 提供的 OldIrql 参数。

驱动程序模型:WDM

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

如何测试

编译时

运行 静态驱动程序验证程序 并指定 IrqlKeReleaseSpinLock 规则。

使用以下步骤对代码进行分析:
  1. 准备代码(使用角色类型声明)。
  2. 运行静态驱动程序验证程序。
  3. 查看和分析结果。

更多信息,请参见使用静态驱动程序验证程序查找驱动程序中的缺陷

运行时

运行 驱动程序验证程序 并选择 DDI 符合性检查 选项。

适用于

KeReleaseSpinLock