ExAcquireSpinLockShared 함수(wdm.h)

ExAcquireSpinLockShared 루틴은 호출자의 공유 액세스에 대한 스핀 잠금을 획득하고 IRQL을 DISPATCH_LEVEL 발생합니다.

구문

KIRQL ExAcquireSpinLockShared(
  [in, out] PEX_SPIN_LOCK SpinLock
);

매개 변수

[in, out] SpinLock

공유 액세스를 위해 획득할 스핀 잠금에 대한 포인터입니다. 호출자는 이 스핀 잠금을 아직 소유하지 않아야 합니다.

반환 값

ExAcquireSpinLockShared 루틴은 이전 IRQL 값을 반환합니다. 자세한 내용은 설명 섹션을 참조하세요.

설명

이 루틴을 입력할 때 호출자는 IRQL <= DISPATCH_LEVEL 실행 중이어야 합니다. 이 루틴은 DISPATCH_LEVEL IRQL을 발생시키고 원래(항목 내) IRQL 값을 반환합니다.

스핀 잠금을 해제하려면 ExReleaseSpinLockShared 루틴을 호출합니다. ExReleaseSpinLockShared는IRQL을 ExAcquireSpinLockShared 항목에 있던 원래 값으로 복원합니다.

스핀 잠금은 EX_SPIN_LOCK 형식의 32비트 변수입니다. 드라이버는 스핀 잠금에 대한 스토리지를 할당하고 스핀 잠금을 0으로 초기화해야 합니다. 이 스토리지는 페이지가 없는 시스템 공간 메모리에 있어야 합니다.

호출자는 스핀 잠금을 해제하기 전에 잠시만 유지해야 합니다. 자세한 내용은 스핀 잠금 소개를 참조하세요.

스핀 잠금을 재귀적으로 획득하면 교착 상태가 발생하며 허용되지 않습니다.

요구 사항

요구 사항
헤더 wdm.h
IRQL DISPATCH_LEVEL(설명 참조)

추가 정보

ExReleaseSpinLockShared