ExAcquireRundownProtection 함수(wdm.h)
ExAcquireRundownProtection 루틴은 호출자가 개체에 안전하게 액세스할 수 있도록 공유 개체에 대한 런다운 보호를 획득하려고 시도합니다.
BOOLEAN ExAcquireRundownProtection(
[in, out] PEX_RUNDOWN_REF RunRef
);
[in, out] RunRef
ExInitializeRundownProtection 루틴에 대한 이전 호출로 초기화된 EX_RUNDOWN_REF 구조체에 대한 포인터입니다. 런다운 보호 루틴은 이 구조를 사용하여 연결된 공유 개체의 런다운 상태를 추적합니다. 이 구조는 드라이버에 불투명합니다.
ExAcquireRundownProtection 루틴이 호출자에 대한 런다운 보호를 성공적으로 획득하면 TRUE 반환합니다. 그렇지 않으면 false 반환됩니다. FALSE 반환 값은 개체의 실행이 시작되었으며 개체가 잘못된 것으로 처리되어야 했음을 나타냅니다.
공유 개체에 안전하게 액세스하기 위해 드라이버는 ExAcquireRundownProtection 호출하여 개체에 대한 런다운 보호를 획득합니다. 루틴은 TRUE 반환하여 런다운 보호가 적용되고 있음을 나타냅니다. 런다운 보호가 적용되는 경우 드라이버는 액세스가 완료되기 전에 개체가 삭제될 위험 없이 개체에 안전하게 액세스할 수 있습니다.
런다운 블록 자체가 페이징되지 않는 한 이 함수는 DISPATCH_LEVEL 호출할 수 있습니다.
액세스가 완료되면 드라이버는 ExReleaseRundownProtection 호출하여 이전에 획득한 런다운 보호를 해제합니다.
exAcquireRundownProtection FALSE 반환하면 개체에 더 이상 액세스할 수 없습니다. 예를 들어 개체를 새 개체로 바꿀 경우 호출자는 개체 소유자가 새 개체를 만들 때까지 기다린 다음 새 개체에 대한 액세스를 협상해야 합니다.
자세한 내용은 Run-Down Protection참조하세요.
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP부터 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL(설명 참조) |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport) |