IMFVirtualCamera::CreateSyncSemaphore-Methode (mfvirtualcamera.h)
Ein Wrapper um die IKsControl::KsEvent-Methode , die ein Semaphor aktiviert oder deaktiviert.
Syntax
HRESULT CreateSyncSemaphore(
REFGUID kseventSet,
ULONG kseventId,
ULONG kseventFlags,
HANDLE semaphoreHandle,
LONG semaphoreAdjustment,
IMFCameraSyncObject **cameraSyncObject
);
Parameter
kseventSet
Eine GUID, die KSEVENT darstellt. Set-Feld .
kseventId
Eine ULONG, die das feld KSEVENT.Id darstellt.
kseventFlags
Eine Reihe von bitweisen oder ed-Flags, die das KSEVENT darstellen. Flags-Feld .
semaphoreHandle
Ein Handle, das KSEVENTDATA darstellt. SemaphoreHandle.Semaphorfeld .
semaphoreAdjustment
Ein Anpassungswert, der KSEVENTDATA darstellt. SemaphoreHandle.Adjustment-Feld .
cameraSyncObject
Ein Ausgabeparameter, der eine IMFSyncObject-Schnittstelle empfängt . Der Aufrufer ist für die Freigabe dieses Objekts verantwortlich.
Rückgabewert
Gibt einen HRESULT-Wert zurück, einschließlich, aber nicht beschränkt auf die folgenden Werte:
Fehlercode | BESCHREIBUNG |
---|---|
S_OK | Erfolgreich |
Hinweise
Diese Methode ermöglicht es dem Aufrufer, ein Semaphorobjekt zwischen dem Aufrufer und der virtuellen Kamera für die Synchronisierung zu erstellen. Die Implementierung der virtuellen Kamera erhält einen Aufruf von IKsControl::KsEvent , wenn diese API aufgerufen wird. Das resultierende IMFCameraSyncObject kann verwendet werden, um das Ereignis von der virtuellen Kamera zu blockieren.
Wenn das IMFCameraSyncObject abgerufen wird, kann der Aufrufer die IMFCameraSyncObject::WaitOnSignal-Methode verwenden oder WaitForSingleObject oder WaitForMultipleObjects für das HANDLE aufrufen, das für die CreateSyncObject-Methode bereitgestellt wurde. Der Aufrufer darf nicht auf beide Warten warten, da das Signal für das Ereignis vom Treiber nur einmal gesetzt werden kann.
Der Aufrufer muss IMFCameraSyncObject::Shutdown aufrufen, wenn das Synchronisierungsobjekt nicht mehr benötigt wird, unabhängig davon, ob der Wartevorgang erfolgreich war oder nicht.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Build 22000 |
Kopfzeile | mfvirtualcamera.h |
Bibliothek | mfsensorgroup.lib |
DLL | mfsensorgroup.dll |