다음을 통해 공유


ExEnterCriticalRegionAndAcquireResourceExclusive 함수(wdm.h)

ExEnterCriticalRegionAndAcquireResourceExclusive 루틴은 먼저 중요한 지역에 진입한 다음 지정된 리소스에 대한 단독 액세스를 획득합니다.

구문

PVOID ExEnterCriticalRegionAndAcquireResourceExclusive(
  PERESOURCE Resource
);

매개 변수

Resource

[in, out] 단독 액세스를 위해 획득할 리소스에 대한 포인터입니다. 이 매개 변수는 호출자가 할당한 ERESOURCE 구조를 가리킵니다. 호출자는 이전에 페이지가 없는 풀에서 이 구조를 할당하고 ExInitializeResourceLite 또는 ExReinitializeResourceLite 루틴을 호출하여 초기화했습니다.

반환 값

불투명 시스템 구조체에 대한 포인터입니다. 드라이버는 이 반환 값을 무시해야 합니다.

설명

지정된 리소스를 배타적 액세스에 즉시 사용할 수 없을 때 이 루틴이 호출되면 리소스를 사용할 수 있을 때까지 호출 스레드가 차단됩니다.

드라이버 스레드가 중요한 지역에서 실행되는 동안에는 드라이버의 사용자 APC 및 일반 커널 APC가 실행되지 않습니다. 특수 커널 APC는 여전히 실행됩니다. 이러한 APC 형식에 대한 자세한 내용은 APC 유형을 참조하세요.

ExEnterCriticalRegionAndAcquireSourceExclusive는 일반 커널 APC를 일시적으로 사용하지 않도록 설정하여 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