KeEnterCriticalRegion 函式 (wdm.h)
KeEnterCriticalRegion 例程會暫時停用正常核心 APC 的執行,但不會防止特殊核心 APC 執行。
語法
void KeEnterCriticalRegion();
傳回值
沒有
言論
驅動程式會呼叫此例程,以進入關鍵區域,其中正常核心 APC 的執行會延遲到此驅動程式呼叫 KeLeaveCriticalRegion 例程,以結束關鍵區域。 KeEnterCriticalRegion 的任何呼叫者,都應該在進入關鍵區域之後儘快呼叫 KeLeaveCriticalRegion。
在要求目前 I/O 作業的線程內容中執行時,最高層級驅動程式可以呼叫 KeEnterCriticalRegion。
在重要區域內的線程同時停用使用者 APC 和一般核心 APC,但未停用特殊核心 APC。 如需這些 APC 類型的詳細資訊,請參閱 類型。
關鍵區域可以遞歸輸入,而且每個呼叫 KeEnterCriticalRegion 都必須有相符的呼叫,KeLeaveCriticalRegion。
驅動程式可以使用重要區域來取得和釋放共用資源的獨佔存取權。 在此情況下,ExEnterCriticalRegionAndAcquireResourceExclusive 和 ExReleaseResourceAndLeaveCriticalRegion 例程可以使用,而不是使用 KeEnterCriticalRegion 和 KeLeaveCriticalRegion 例程。 如需詳細資訊,請參閱 ExEnterCriticalRegionAndAcquireResourceExclusive中的程式碼範例。
如需 APC 的詳細資訊,請參閱 異步過程呼叫。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平臺 | 普遍 |
標頭 | wdm.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