ExWaitForRundownProtectionRelease 函数 (wdm.h)
ExWaitForRundownProtectionRelease 例程等待,直到已授予运行保护的所有驱动程序完成对共享对象的访问。
语法
void ExWaitForRundownProtectionRelease(
[in, out] PEX_RUNDOWN_REF RunRef
);
参数
[in, out] RunRef
指向先前调用 ExInitializeRundownProtection 例程初始化的 EX_RUNDOWN_REF 结构的指针。 运行保护例程使用此结构来跟踪关联的共享对象的运行状态。 此结构对驱动程序不透明。
返回值
没有
言论
此例程由拥有驻留在共享内存中的对象且由其他驱动程序访问的驱动程序调用。 删除此对象之前,拥有驱动程序必须调用此例程才能等待对象的任何未完成访问。 ExWaitForRundownProtectionRelease 返回后,拥有驱动程序可以安全地删除该对象。
调用 ExWaitForRundownProtectionRelease 后,ExAcquireRundownProtection 例程不会向尝试访问共享对象的驱动程序授予对运行保护的进一步请求。 该例程等待返回,直到之前授予运行保护的所有驱动程序完成访问该对象。 每个驱动程序完成后,它会调用 ExReleaseRundownProtection 例程来释放以前获取的运行保护。 完成所有未完成的访问后,ExWaitForRundownProtectionRelease 返回,并且可以安全地删除对象。
如果在以前授予运行保护的所有驱动程序都已完成访问共享对象时调用 exWaitForRundownProtectionRelease,则例程会将对象状态更改为 运行,并立即返回,无需等待。
如果调用 ExWaitForRundownProtectionRelease 以运行共享对象,但 RunRef 参数指示此对象已运行,则调用不起作用,但不会被视为错误。
有关详细信息,请参阅 Run-Down 保护。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows XP 开始可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDIS(storport),SpNoWait(storport) |