다음을 통해 공유


KeEnterCriticalRegion 함수(ntddk.h)

KeEnterCriticalRegion 루틴은 일반 커널 APC의 실행을 일시적으로 사용하지 않도록 설정하지만 특수 커널 APC가 실행되는 것을 방지하지는 않습니다.

구문

void KeEnterCriticalRegion();

반환 값

없음

설명

드라이버는 이 루틴을 호출하여 이 드라이버가 KeLeaveCriticalRegion 루틴을 호출하여 중요한 지역을 종료할 때까지 일반 커널 APC의 실행이 지연되는 중요한 지역으로 진입합니다. KeEnterCriticalRegion의 모든 호출자는 중요한 지역에 진입한 후 가능한 한 빨리 KeLeaveCriticalRegion을 호출해야 합니다.

최고 수준의 드라이버는 현재 I/O 작업을 요청한 스레드의 컨텍스트에서 실행되는 동안 KeEnterCriticalRegion 을 호출할 수 있습니다.

중요한 지역 내에 있는 스레드에는 사용자 APC와 일반 커널 APC가 모두 사용하지 않도록 설정되어 있지만 특수 커널 APC는 사용하지 않도록 설정되어 있습니다. 이러한 APC 형식에 대한 자세한 내용은 APC 유형을 참조하세요.

중요한 지역을 재귀적으로 입력할 수 있으며 KeEnterCriticalRegion에 대한 각 호출에는 KeLeaveCriticalRegion에 대한 일치 호출이 있어야 합니다.

드라이버는 중요한 지역을 사용하여 공유 리소스에 대한 단독 액세스를 획득하고 해제할 수 있습니다. 이 경우 KeEnterCriticalRegion 및 KeLeaveCriticalRegion 루틴 대신 ExEnterCriticalRegionAndAcquiresourceExclusiveExReleaseResourceAndLeaveCriticalRegion 루틴을 사용할 수 있습니다. 자세한 내용은 ExEnterCriticalRegionAndAcquireResourceExclusive의 코드 예제를 참조하세요.

APC에 대한 자세한 내용은 비동기 프로시저 호출을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntddk.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI 규정 준수 규칙 CriticalRegions(wdm), HwStorPortProhibitedDDIs(storport), IrqlKeApcLte2(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

추가 정보

ExEnterCriticalRegionAndAcquireResourceExclusive

ExReleaseResourceAndLeaveCriticalRegion

KeAreApcsDisabled

KeLeaveCriticalRegion