VideoPortInterlockedExchange 함수(video.h)

VideoPortInterlockedExchange 함수는 사용자 정의 잠금 변수를 각각 TRUE 또는 FALSE로 설정하여 메모리 블록을 잠그거나 잠금 해제합니다. 잠금 변수의 이전에 보유된 값을 반환합니다.

구문

VIDEOPORT_API LONG VideoPortInterlockedExchange(
  [in, out] IN OUT PLONG Target,
  [in]      IN LONG      Value
);

매개 변수

[in, out] Target

메모리 버퍼에 대한 액세스를 제어하는 데 사용되는 사용자 정의 잠금 변수에 대한 포인터입니다.

[in] Value

대상에 저장할 값을 지정합니다. 이 값은 메모리 버퍼를 잠글지 잠금 해제할지 여부를 나타냅니다. TRUE를 사용하여 메모리 버퍼를 잠그고 FALSE를 사용하여 메모리 버퍼의 잠금을 해제합니다.

반환 값

VideoPortInterlockedExchange 는 함수 호출 전에 Target 이 가진 값을 반환합니다.

설명

VideoPortInterlockedExchange 를 사용하여 다중 프로세서 시스템에서 DMA 공통 버퍼 경합을 방지할 수 있습니다.

버퍼를 읽거나 쓸 수 없는 경우 잠금 변수의 값은 FALSE여야 합니다. Target 매개 변수가 TRUE로 설정된 VideoPortInterlockedExchange에 대한 후속 호출은 잠금 변수를 TRUE로 다시 설정하고 그 후에 이 함수는 FALSE를 반환합니다. 이제 버퍼가 잠겨 다른 스레드의 액세스를 방지합니다. 버퍼의 현재 작업이 완료되면 Target 매개 변수가 FALSE로 설정된 VideoPortInterlockedExchange 호출을 사용하여 버퍼의 잠금을 해제합니다.

요구 사항

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

추가 정보

VideoPortGetCommonBuffer

VideoPortInterlockedDecrement

VideoPortInterlockedIncrement