共用方式為


ExWaitForRundownProtectionRelease 函式 (wdm.h)

ExWaitForRundownProtectionRelease 例程會等候所有已獲授與執行保護的驅動程式完成共享物件的存取權。

語法

void ExWaitForRundownProtectionRelease(
  [in, out] PEX_RUNDOWN_REF RunRef
);

參數

[in, out] RunRef

先前呼叫 exInitializeRundownProtection 例程所初始化之EX_RUNDOWN_REF 結構的指標。 Run-down 保護例程會使用此結構來追蹤相關聯共用物件的執行狀態。 此結構對驅動程式不透明。

傳回值

沒有

言論

此例程是由擁有位於共用記憶體中且由其他驅動程式存取之對象的驅動程式所呼叫。 刪除此物件之前,擁有驅動程式必須呼叫此例程,以等候物件的任何未完成存取。 ExWaitForRundownProtectionRelease 傳回之後,擁有的驅動程式可以安全地刪除物件。

呼叫 exWaitForRundownProtectionRelease 之後,ExAcquireRundownProtection 例程不會再對嘗試存取共用對象的驅動程式授與執行保護要求。 例程會等候傳回,直到先前授與執行保護的所有驅動程式完成存取物件為止。 當每個驅動程式完成時,它會呼叫 ExReleaseRundownProtection 例程,以釋放先前取得的 Run-down 保護。 完成所有未完成存取時,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)

另請參閱

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection