KeEnterCriticalRegion 函式 (ntddk.h)

KeEnterCriticalRegion 例程會暫時停用正常核心 APC 的執行,但不會防止特殊核心 APC 執行。

Syntax

void KeEnterCriticalRegion();

傳回值

備註

驅動程式會呼叫此例程,以進入執行一般核心 APC 的重要區域,直到此驅動程式呼叫 KeLeaveCriticalRegion 例程結束重要區域為止。 任何 KeEnterCriticalRegion 的呼叫端都應該在進入重要區域之後儘快呼叫 KeLeaveCriticalRegion

在要求目前 I/O 作業的線程內容中執行時,最高層級驅動程式可以呼叫 KeEnterCriticalRegion

重要區域內的線程同時停用使用者 APC 和一般核心 APC,但未停用特殊核心 APC。 如需這些 APC 類型的詳細資訊,請參閱 APC 的類型

重要區域可以遞歸輸入,而且每個對 KeEnterCriticalRegion 的呼叫都必須具有 KeLeaveCriticalRegion 的相符呼叫。

驅動程式可以使用重要區域來取得和釋放共用資源的獨佔存取權。 在此情況下, 可以使用 ExEnterCriticalRegionAndAcquireResourceExclusiveExReleaseResourceAndLeaveCriticalRegion 例程,而不是 KeEnterCriticalRegionKeLeaveCriticalRegion 例程。 如需詳細資訊,請參閱 ExEnterCriticalRegionAndAcquireResourceExclusive 中的程式碼範例。

如需 APC 的詳細資訊,請參閱 異步過程調用

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 ntddk.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL
DDI 合規性規則 CriticalRegions (wdm) HwStorPortProhibitedDIS (storport ) 、 IrqlKeApcLte2 (wdm ) 、 WithinCriticalRegion (storport) 、 WithinCriticalRegion (storport ) 、 WithinCriticalRegion (wdm)

另請參閱

ExEnterCriticalRegionAndAcquireResourceExclusive

ExReleaseResourceAndLeaveCriticalRegion

KeAreApcsDisabled

KeLeaveCriticalRegion