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