exAcquireRundownProtectionEx 函数 (wdm.h)
ExAcquireRundownProtectionEx 例程尝试获取共享对象的运行保护,以便调用方可以安全地访问该对象。
语法
BOOLEAN ExAcquireRundownProtectionEx(
[in, out] PEX_RUNDOWN_REF RunRef,
[in] ULONG Count
);
参数
[in, out] RunRef
指向 EX_RUNDOWN_REF 结构的指针,该结构由先前对 ExInitializeRundownProtection 例程的调用初始化。 运行保护例程使用此结构来跟踪关联的共享对象的运行状态。 此结构对驱动程序不透明。
[in] Count
要递增到对象的运行实例计数的量。 仅当例程返回 TRUE 时,计数才会递增。 有关详细信息,请参阅备注
返回值
如果例程成功为调用方获取运行保护,ExAcquireRundownProtectionEx 将返回 TRUE。 否则,它将返回 FALSE。 返回值为 FALSE 表示对象的运行已启动,并且必须将对象视为无效。
注解
为了安全地访问共享对象,驱动程序调用 ExAcquireRundownProtectionEx 来获取该对象的运行保护。
RunRef 参数指向跟踪关联对象的运行状态的EX_RUNDOWN_REF结构。 此状态信息包括当前对对象的已运行保护实例计数。 ExAcquireRundownProtectionEx 和 ExReleaseRundownProtectionEx 例程按任意数量递增和递减此计数。 两个相关的例程 (ExAcquireRundownProtection 和 ExReleaseRundownProtection)递增和递减此计数。
只要运行块本身是非分页的,就可以在DISPATCH_LEVEL调用此函数。
有关详细信息,请参阅 Run-Down Protection。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows Server 2003 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h (包括 Wdm.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (请参阅备注) |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) |