VideoPortAcquireSpinLock 함수(video.h)

VideoPortAcquireSpinLock 함수는 지정된 스핀 잠금을 가져옵니다.

구문

VIDEOPORT_API VOID VideoPortAcquireSpinLock(
  [in, out] PVOID      HwDeviceExtension,
  [in]      PSPIN_LOCK SpinLock,
  [out]     PUCHAR     OldIrql
);

매개 변수

[in, out] HwDeviceExtension

미니포트 드라이버의 디바이스 확장에 대한 포인터입니다.

[in] SpinLock

스핀 잠금이 포함된 메모리 위치에 대한 포인터입니다.

[out] OldIrql

현재 IRQL을 받을 메모리 위치에 대한 포인터입니다.

반환 값

없음

설명

현재 IRQL은 OldIrql에 저장됩니다. 그런 다음 현재 IRQL이 DISPATCH_LEVEL 다시 설정되고 지정된 스핀 잠금이 획득됩니다.

VideoPortReleaseSpinLock을 사용하여 스핀 잠금을 해제할 때 OldIrql 값을 지정해야 합니다.

스핀 잠금은 신중하게 사용하지 않으면 심각한 문제를 일으킬 수 있습니다. 특히 교착 상태 보호가 수행되지 않으며 스핀 잠금이 유지되는 동안 디스패치를 사용하지 않도록 설정됩니다. 따라서

  • 스핀 잠금으로 보호되는 중요한 지역 내의 코드는 페이지 가능하거나 페이지 가능한 데이터에 대한 참조를 만들 수 없습니다.
  • 스핀 잠금으로 보호되는 중요한 지역 내의 코드는 페이지가 지정된 데이터에 액세스하거나 예외를 발생시키는 외부 함수를 호출할 수 없으며 예외를 생성할 수도 없습니다.
  • 호출자는 가능한 한 빨리 VideoPortReleaseSpinLock 을 사용하여 스핀 잠금을 해제해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 video.h(Video.h 포함)
라이브러리 Videoprt.lib
DLL Videoprt.sys
IRQL <=DISPATCH_LEVEL

추가 정보

VideoPortAcquireSpinLockAtDpcLevel

VideoPortReleaseSpinLock