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