共用方式為


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 上呼叫WaitForSingleObjectWaitForMultipleObjects 呼叫端不得等候這兩者,因為事件上的訊號只能由驅動程式設定一次。

無論等候作業是否成功,呼叫端都必須在不再需要同步處理物件時呼叫 IMFCameraSyncObject::Shutdown

需求

   
最低支援的用戶端 Windows 組建 22000
標頭 mfvirtualcamera.h
程式庫 mfsensorgroup.lib
Dll mfsensorgroup.dll

另請參閱

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

WaitForSingleObject

WaitForMultipleObjects