ExWaitForRundownProtectionReleaseCacheAware 函数 (wdm.h)
ExWaitForRundownProtectionReleaseCacheAware 例程等待,直到所有已获得缓存感知的运行保护的驱动程序完成对共享对象的访问。
语法
void ExWaitForRundownProtectionReleaseCacheAware(
[in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRef
);
参数
[in, out] RunRef
指向上一次调用 ExAllocateCacheAwareRundownProtection 或 ExInitializeRundownProtectionCacheAware初始化的 EX_RUNDOWN_REF_CACHE_AWARE 结构的指针。 缓存感知的运行保护例程使用此结构来跟踪关联的共享对象的运行状态。 此结构对驱动程序不透明。
返回值
没有
言论
此例程由拥有驻留在共享内存中的对象且由其他驱动程序访问的驱动程序调用。 删除此对象之前,拥有驱动程序必须调用此例程才能等待对象的任何未完成访问。 ExWaitForRundownProtectionReleaseCacheAware 返回后,拥有驱动程序可以安全地删除该对象。
调用 ExWaitForRundownProtectionReleaseCacheAware 后,ExAcquireRundownProtectionCacheAware 例程不会向尝试访问共享对象的驱动程序授予缓存感知的运行保护的进一步请求。
该例程等待返回,直到以前授予缓存感知的运行保护的所有驱动程序完成访问该对象。 每个驱动程序完成后,它会调用 ExReleaseRundownProtectionCacheAware 例程来释放以前获取的缓存感知的运行保护。 完成所有未完成的访问后,ExWaitForRundownProtectionReleaseCacheAware 返回,并且可以安全地删除对象。
如果在以前授予运行保护的所有驱动程序都已完成访问共享对象时调用 exWaitForRundownProtectionReleaseCacheAware,则例程会将对象状态更改为 运行,并立即返回,无需等待。
如果 调用 exWaitForRundownProtectionReleaseCacheAware 以运行共享对象,但 RunRef 参数指示此对象已运行,则调用不起作用,但不会被视为错误。
有关详细信息,请参阅 缓存感知的运行保护。
要求
要求 | 价值 |
---|---|
支持的最低服务器 | Windows Server 2003 Service Pack 1 |
标头 | wdm.h (包括 Wdm.h) |
DDI 符合性规则 | HwStorPortProhibitedDIS(storport),SpNoWait(storport) |
另请参阅
ExAcquireRundownProtectionCacheAware
ExAcquireRundownProtectionCacheAwareEx
ExAllocateCacheAwareRundownProtection
ExFreeCacheAwareRundownProtection
ExInitializeRundownProtectionCacheAware
ExReInitializeRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAware