다음을 통해 공유


KefAcquireSpinLockAtDpcLevel 함수(wdm.h)

호출자가 IRQL >= DISPATCH_LEVEL 이미 실행 중인 경우 KefAcquireSpinLockAtDpcLevel 루틴은 스핀 잠금을 획득합니다.

문법

VOID KefAcquireSpinLockAtDpcLevel(
  PKSPIN_LOCK SpinLock
);

매개 변수

SpinLock

호출자가 스토리지를 제공해야 하는 초기화된 KSPIN_LOCK 스핀 잠금에 대한 포인터입니다. 스핀 잠금은 페이징되지 않은 풀에 있어야 합니다.

반환 값

없음

비고

드라이버는 이미 DISPATCH_LEVEL 이상의 IRQL에서 실행 중인 경우에만 더 나은 드라이버 성능을 위해 KeAcquireSpinLock 대신 KefAcquireSpinLockAtDpcLevel을 호출합니다.

드라이버가 IRQL <= APC_LEVEL 실행 중인 경우 KeAcquireSpinLock을 호출하여 해당 루틴에서 IRQL을 발생시켜야 합니다. KefAcquireSpinLockAtDpcLevel 은 호출자가 IRQL >= DISPATCH_LEVEL 이미 실행되고 있다고 가정하므로 발생이 필요하지 않습니다.

호출자는 가능한 한 빨리 KefReleaseSpinLockFromDpcLevel 을 사용하여 스핀 잠금을 해제해야 합니다.

스핀 잠금에 대한 자세한 내용은 스핀 잠금 참조하세요.

요구 사항

요구 사항 가치
대상 플랫폼 보편적
헤더 wdm.h (Wdm.h, Ntddk.h, Ntifs.h를 포함하여)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 디스패치 레벨
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlDispatch(wdm), SpinLock(wdm), SpinlockRelease(wdm)

참고하십시오