Condividi tramite


Metodo IMFVirtualCamera::CreateSyncSemaphore (mfvirtualcamera.h)

Wrapper intorno al metodo IKsControl::KsEvent , che abilita o disabilita un semaforo.

Sintassi

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

Parametri

kseventSet

GUID che rappresenta il KSEVENT. Impostare il campo.

kseventId

ULONG che rappresenta il campo KSEVENT.Id .

kseventFlags

Set di flag bit-wise o ed che rappresentano il KSEVENT. Campo Contrassegni .

semaphoreHandle

Handle che rappresenta il KSEVENTDATA. Campo SemaphoreHandle.Semaphore .

semaphoreAdjustment

Valore di regolazione che rappresenta KSEVENTDATA. Campo SemaphoreHandle.Adjustment .

cameraSyncObject

Parametro di output che riceve un'interfaccia IMFSyncObject . Il chiamante è responsabile del rilascio di questo oggetto.

Valore restituito

Restituisce un valore HRESULT, incluso ma non limitato ai valori seguenti:

Codice di errore Descrizione
S_OK Completato

Commenti

Questo metodo consente al chiamante di creare un oggetto semaforo tra il chiamante e la fotocamera virtuale per la sincronizzazione. L'implementazione della fotocamera virtuale riceverà una chiamata a IKsControl::KsEvent quando questa API viene chiamata. L'oggetto FMCameraSyncObject risultante può essere usato per bloccare l'evento dalla fotocamera virtuale.

Quando viene ottenuto l'oggetto IMFCameraSyncObject, il chiamante può scegliere di usare il metodo IMFCameraSyncObject::WaitOnSignal o chiamare WaitForSingleObjects nel metodo HANDLE fornito al metodo CreateSyncObject. Il chiamante non deve attendere entrambi, poiché il segnale sull'evento può essere impostato una sola volta dal driver.

Il chiamante deve chiamare IMFCameraSyncObject::Shutdown quando l'oggetto di sincronizzazione non è più necessario indipendentemente dal fatto che l'operazione di attesa abbia esito positivo o meno.

Requisiti

   
Client minimo supportato Windows Build 22000
Intestazione mfvirtualcamera.h
Libreria mfsensorgroup.lib
DLL mfsensorgroup.dll

Vedi anche

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

WaitForSingleObject

Waitformultipleobjects