KeAcquireSpinLockAtDpcLevel 매크로(wdm.h)
KeAcquireSpinLockAtDpcLevel 루틴은 호출자가 이미 IRQL >= DISPATCH_LEVEL 실행 중일 때 스핀 잠금을 획득합니다.
통사론
void KeAcquireSpinLockAtDpcLevel(
[in, out] PKSPIN_LOCK SpinLock
);
매개 변수
[in, out] SpinLock
호출자가 스토리지를 제공해야 하는 초기화된 KSPIN_LOCK 스핀 잠금에 대한 포인터입니다. 스핀 잠금은 페이징되지 않은 풀에 있어야 합니다.
반환 값
없음
발언
드라이버는 DISPATCH_LEVEL 이상의 IRQL에서 이미 실행 중인 경우에만 더 나은 드라이버 성능을 위해 KeAcquireSpinLock 대신 KeAcquireSpinLockAtDpcLevel 호출합니다.
드라이버가 IRQL <= APC_LEVEL 실행 중인 경우 KeAcquireSpinLock 호출하여 해당 루틴에서 IRQL을 발생시켜야 합니다. KeAcquireSpinLockAtDpcLevel 호출자가 IRQL >= DISPATCH_LEVEL 이미 실행되고 있다고 가정하므로 인상이 필요하지 않습니다.
호출자는 가능한 한 빨리 KeReleaseSpinLockFromDpcLevel 사용하여 스핀 잠금을 해제해야 합니다.
스핀 잠금에 대한 자세한 내용은 스핀 잠금 참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 설명 섹션을 참조하세요. |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), SpinLockSafe(storport) |