ExEnterCriticalRegionAndAcquireResourceExclusive 函式 (wdm.h)

ExEnterCriticalRegionAndAcquireResourceExclusive 例程會先進入重要區域,然後取得指定資源的獨佔存取權。

語法

PVOID ExEnterCriticalRegionAndAcquireResourceExclusive(
  PERESOURCE Resource
);

參數

Resource

[in, out]要取得供獨佔存取之資源的指標。 此參數指向呼叫端配置的 ERESOURCE 結構。 呼叫端先前已從非分頁集區配置此結構,並藉由呼叫 ExInitializeResourceLiteExReinitializeResourceLite 例程加以初始化。

傳回值

不透明系統結構的指標。 驅動程式應該忽略這個傳回值。

備註

如果在指定的資源無法立即用於獨佔存取時呼叫此例程,則會封鎖呼叫線程,直到資源可用為止。

當驅動程式線程在關鍵區域中執行時,不會執行驅動程式的使用者 APC 和一般核心 APC。 仍會執行特殊核心 APC。 如需這些 APC 類型的詳細資訊,請參閱 APC 的類型

藉由暫時停用一般核心 APC,ExEnterCriticalRegionAndAcquireResourceExclusive 可防止 APC 先占被動層級呼叫線程,而線程會保留 APC 可能嘗試存取的共享資源。

呼叫線程應該停留在關鍵區域中,並保留指定的資源,時間已超過必要。 若要釋放指定的資源並離開重要區域,請呼叫 ExReleaseResourceAndLeaveCriticalRegion 例程。

如需使用 ERESOURCE 結構同步處理資源獨佔存取的詳細資訊,請參閱 ERESOURCE例程簡介。 如需進入和離開重要區域的詳細資訊,請參閱 重要區域和受防護的區域

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2003 SP1
標頭 wdm.h
IRQL <= APC_LEVEL
DDI 合規性規則 CriticalRegions (wdm) HwStorPortProhibitedDDIs (storport)

另請參閱

ERESOURCE

ExAcquireResourceExclusiveLite

ExInitializeResourceLite

ExReinitializeResourceLite

ExReleaseResourceLite

ExReleaseResourceAndLeaveCriticalRegion

KeEnterCriticalRegion

KeLeaveCriticalRegion