共用方式為


ExAcquireRundownProtection 函式 (wdm.h)

ExAcquireRundownProtection 例程會嘗試取得共享物件上的執行保護,讓呼叫者可以安全地存取物件。

語法

BOOLEAN ExAcquireRundownProtection(
  [in, out] PEX_RUNDOWN_REF RunRef
);

參數

[in, out] RunRef

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

傳回值

ExAcquireRundownProtection 如果例程成功取得呼叫者的執行保護,則傳回 true。 否則,它會 FALSE傳回 。 FALSE 的傳回值 表示對象的執行已啟動,而且對象必須視為無效。

言論

為了安全地存取共用對象,驅動程式會呼叫 ExAcquireRundownProtection 以取得對象的執行保護。 例程會傳回 TRUE,表示執行保護作用中。 當執行保護生效時,驅動程式可以安全地存取物件,而不會有在存取完成之前刪除對象的風險。

只要 run-down 區塊本身為非分頁,就可以在 DISPATCH_LEVEL呼叫此函式。

完成存取之後,驅動程式會呼叫 ExReleaseRundownProtection,以釋放先前取得的 Run-down 保護。

如果 ExAcquireRundownProtection 傳回 FALSE,就無法再存取物件。 例如,如果物件要以新的物件取代,呼叫端必須等候對象擁有者建立新的物件,然後交涉對新物件的存取權。

如需詳細資訊,請參閱 Run-Down 保護

要求

要求 價值
最低支援的用戶端 從 Windows XP 開始提供。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (請參閱備註)
DDI 合規性規則 HwStorPortProhibitedDIs(storport)

另請參閱

EX_RUNDOWN_REF

ExInitializeRundownProtection

ExReleaseRundownProtection