ExWaitForRundownProtectionReleaseCacheAware 함수(wdm.h)

ExWaitForRundownProtectionReleaseCacheAware 루틴은 캐시 인식 런다운 보호가 이미 부여된 모든 드라이버가 공유 개체에 대한 액세스를 완료할 때까지 기다립니다.

구문

void ExWaitForRundownProtectionReleaseCacheAware(
  [in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRef
);

매개 변수

[in, out] RunRef

ExAllocateCacheAwareRundownProtection 또는 ExInitializeRundownProtectionCacheAware에 대한 이전 호출에 의해 초기화된 EX_RUNDOWN_REF_CACHE_AWARE 구조체에 대한 포인터입니다. 캐시 인식 런다운 보호 루틴은 이 구조를 사용하여 연결된 공유 개체의 런다운 상태 추적합니다. 이 구조는 드라이버에 불투명합니다.

반환 값

없음

설명

이 루틴은 공유 메모리에 있고 다른 드라이버에서 액세스하는 개체를 소유하는 드라이버에서 호출됩니다. 이 개체를 삭제하기 전에 소유 드라이버는 이 루틴을 호출하여 개체의 미해결 액세스가 완료되기를 기다려야 합니다. ExWaitForRundownProtectionReleaseCacheAware가 반환되면 소유 드라이버가 개체를 안전하게 삭제할 수 있습니다.

ExWaitForRundownProtectionReleaseCacheAware가 호출되면 ExAcquireRundownProtectionCacheAware 루틴은 공유 개체에 액세스하려는 드라이버로부터 캐시 인식 런다운 보호에 대한 추가 요청을 부여하지 않습니다.

루틴은 이전에 캐시 인식 런다운 보호가 부여된 모든 드라이버가 개체에 대한 액세스를 완료할 때까지 반환되기를 기다립니다. 각 드라이버가 완료되면 ExReleaseRundownProtectionCacheAware 루틴을 호출하여 이전에 획득한 캐시 인식 런다운 보호를 해제합니다. 모든 미해결 액세스가 완료되면 ExWaitForRundownProtectionReleaseCacheAware 가 반환되고 개체를 안전하게 삭제할 수 있습니다.

이전에 런다운 보호를 부여한 모든 드라이버가 공유 개체에 대한 액세스를 이미 완료했을 때 ExWaitForRundownProtectionReleaseCacheAware가 호출되면 루틴은 개체 상태 실행되도록 변경하고 기다리지 않고 즉시 반환합니다.

ExWaitForRundownProtectionReleaseCacheAware가 호출되어 공유 개체를 실행하지만 RunRef 매개 변수가 이 개체가 이미 실행 중임을 나타내는 경우 호출은 효과가 없지만 오류로 처리되지 않습니다.

자세한 내용은 캐시 인식 런다운 보호를 참조하세요.

요구 사항

요구 사항
지원되는 최소 서버 Windows Server 2003, 서비스 팩 1
머리글 wdm.h(Wdm.h 포함)
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), SpNoWait(storport)

추가 정보

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware