ExclusiveResourceAccess 规则 (wdm)

ExclusiveResourceAccess 规则指定驱动程序在调用 ExReleaseResourceLite 或 ExReleaseResourceForThreadLite 之前调用 ExAcquireresourceExclusiveLite,并指定驱动程序在后续调用 ExAcquireResourceExclusiveLite 之前调用 ExReleaseResourceLite 或 ExReleaseResourceForThreadLite

如果嵌套调用正在获取和释放不同的资源,则允许这些调用。 获取或释放相同资源的嵌套调用违反了此规则。

此规则还规定,在例程结束时,驱动程序不得具有对资源的独占访问权限。 静态驱动程序验证程序监视 DriverEntryAddDeviceStartIoStartDeviceDpcForIsrCancelDispatchRemoveDeviceUnload 例程的结束。

驱动程序模型:WDM

通过此规则找到的 bug 检查 ()

如何测试

编译时

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

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

有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷

适用于

ExAcquireResourceExclusiveLiteExReleaseResourceForThreadLiteExReleaseResourceLite

另请参阅

使用自旋锁时防止错误和死锁