다음을 통해 공유


ExEnterCriticalRegionAndAcquireResourceExclusive 함수(wdm.h)

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

통사론

PVOID ExEnterCriticalRegionAndAcquireResourceExclusive(
  PERESOURCE Resource
);

매개 변수

Resource

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

반환 값

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

발언

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

드라이버 스레드가 중요한 지역에서 실행되는 동안에는 드라이버의 사용자 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