IMFVirtualCamera::CreateSyncSemaphore 메서드(mfvirtualcamera.h)

세마포를 사용하거나 사용하지 않도록 설정하는 IKsControl::KsEvent 메서드에 대한 래퍼입니다.

구문

HRESULT CreateSyncSemaphore(
  REFGUID             kseventSet,
  ULONG               kseventId,
  ULONG               kseventFlags,
  HANDLE              semaphoreHandle,
  LONG                semaphoreAdjustment,
  IMFCameraSyncObject **cameraSyncObject
);

매개 변수

kseventSet

KSEVENT를 나타내는 GUID입니다. 필드를 설정합니다.

kseventId

KSEVENT.Id 필드를 나타내는 ULONG입니다.

kseventFlags

KSEVENT를 나타내는 비트 단위 또는 ed 플래그 집합 입니다. 플래그 필드입니다.

semaphoreHandle

KSEVENTDATA를 나타내는 핸들입니다. SemaphoreHandle.Semaphore 필드입니다.

semaphoreAdjustment

KSEVENTDATA를 나타내는 조정 값입니다. SemaphoreHandle.Adjustment 필드입니다.

cameraSyncObject

IMFSyncObject 인터페이스를 수신하는 출력 매개 변수입니다. 호출자는 이 개체를 해제해야 합니다.

반환 값

다음 값을 포함하지만 이에 국한되지 않는 HRESULT 값을 반환합니다.

오류 코드 설명
S_OK 성공

설명

이 메서드를 사용하면 호출자가 동기화를 위해 호출자와 가상 카메라 사이에 세마포 개체를 만들 수 있습니다. 가상 카메라 구현은 이 API가 호출될 때 IKsControl::KsEvent에 대한 호출을 받습니다. 결과 IMFCameraSyncObject 를 사용하여 가상 카메라에서 이벤트를 차단할 수 있습니다.

IMFCameraSyncObject를 가져오면 호출자는 IMFCameraSyncObject::WaitOnSignal 메서드를 사용하거나 CreateSyncObject 메서드에 제공된 HANDLE에서 WaitForSingleObject 또는 WaitForMultipleObjects를 호출하도록 선택할 수 있습니다. 이벤트에 대한 신호는 드라이버에서 한 번만 설정할 수 있으므로 호출자는 둘 다 대기해서는 안 됩니다.

대기 작업이 성공했는지 여부에 관계없이 동기화 개체가 더 이상 필요하지 않은 경우 호출자는 IMFCameraSyncObject::Shutdown 을 호출해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 빌드 22000
머리글 mfvirtualcamera.h
라이브러리 mfsensorgroup.lib
DLL mfsensorgroup.dll

참고 항목

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

WaitForSingleObject

WaitForMultipleObjects