Méthode IMFVirtualCamera::CreateSyncSemaphore (mfvirtualcamera.h)
Wrapper autour de la méthode IKsControl::KsEvent , qui active ou désactive un sémaphore.
Syntaxe
HRESULT CreateSyncSemaphore(
REFGUID kseventSet,
ULONG kseventId,
ULONG kseventFlags,
HANDLE semaphoreHandle,
LONG semaphoreAdjustment,
IMFCameraSyncObject **cameraSyncObject
);
Paramètres
kseventSet
GUID représentant KSEVENT. Définir le champ.
kseventId
ULONG représentant le champ KSEVENT.Id .
kseventFlags
Ensemble d’indicateurs bit-wise or-ed représentant KSEVENT. Champ Indicateurs .
semaphoreHandle
Handle représentant KSEVENTDATA. Champ SemaphoreHandle.Semaphore .
semaphoreAdjustment
Valeur d’ajustement représentant KSEVENTDATA. Champ SemaphoreHandle.Adjustment .
cameraSyncObject
Paramètre de sortie qui reçoit une interface IMFSyncObject . L’appelant est responsable de la libération de cet objet.
Valeur retournée
Retourne une valeur HRESULT, y compris, mais sans s’y limiter, les valeurs suivantes :
Code d'erreur | Description |
---|---|
S_OK | Opération réussie |
Notes
Cette méthode permet à l’appelant de créer un objet sémaphore entre l’appelant et la caméra virtuelle pour la synchronisation. L’implémentation de la caméra virtuelle reçoit un appel à IKsControl::KsEvent lorsque cette API est appelée. L’objet IMFCameraSyncObject résultant peut être utilisé pour bloquer l’événement à partir de la caméra virtuelle.
Lorsque l’objet IMFCameraSyncObject est obtenu, l’appelant peut choisir d’utiliser la méthode IMFCameraSyncObject::WaitOnSignal ou d’appeler WaitForSingleObjects ou WaitForMultipleObjects sur le HANDLE fourni à la méthode CreateSyncObject . L’appelant ne doit pas attendre les deux, car le signal de l’événement ne peut être défini qu’une seule fois par le pilote.
L’appelant doit appeler IMFCameraSyncObject::Shutdown lorsque l’objet de synchronisation n’est plus nécessaire, que l’opération d’attente ait réussi ou non.
Configuration requise
Client minimal pris en charge | Windows Build 22000 |
En-tête | mfvirtualcamera.h |
Bibliothèque | mfsensorgroup.lib |
DLL | mfsensorgroup.dll |