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 |