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

Weitere Informationen

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

Waitforsingleobject

WaitForMultipleObjects