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 Protection。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows XP 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包含 Wdm.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) 、 SpNoWait (storport) |