Método IMFVirtualCamera::CreateSyncSemaphore (mfvirtualcamera.h)

Contenedor alrededor del método IKsControl::KsEvent , que habilita o deshabilita un semáforo.

Sintaxis

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

Parámetros

kseventSet

GUID que representa el KSEVENT. Establecer campo.

kseventId

Un ULONG que representa el campo KSEVENT.Id .

kseventFlags

Un conjunto de marcas bit a bit que representan el KSEVENT. Campo Marcas .

semaphoreHandle

Identificador que representa KSEVENTDATA. Campo SemáforoHandle.Semaphore .

semaphoreAdjustment

Valor de ajuste que representa KSEVENTDATA. Campo SemáforoHandle.Adjustment .

cameraSyncObject

Parámetro de salida que recibe una interfaz IMFSyncObject . El autor de la llamada es responsable de liberar este objeto.

Valor devuelto

Devuelve un valor HRESULT, incluidos, entre otros, los siguientes valores:

Código de error Descripción
S_OK Correcto

Comentarios

Este método permite al autor de la llamada crear un objeto de semáforo entre el autor de la llamada y la cámara virtual para la sincronización. La implementación de la cámara virtual recibirá una llamada a IKsControl::KsEvent cuando se llame a esta API. El IMFCameraSyncObject resultante se puede usar para bloquear en el evento desde la cámara virtual.

Cuando se obtiene el IMFCameraSyncObject , el autor de la llamada puede optar por usar el método IMFCameraSyncObject::WaitOnSignal o llamar a WaitForSingleObject o WaitForMultipleObjects en el HANDLE que se proporcionó al método CreateSyncObject . El autor de la llamada no debe esperar a ambos, ya que la señal del evento solo puede establecerse una vez por el controlador.

El autor de la llamada debe llamar a IMFCameraSyncObject::Shutdown cuando el objeto de sincronización ya no sea necesario, independientemente de si la operación de espera se realizó correctamente o no.

Requisitos

   
Cliente mínimo compatible Compilación 22000 de Windows
Encabezado mfvirtualcamera.h
Library mfsensorgroup.lib
Archivo DLL mfsensorgroup.dll

Consulte también

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

Waitforsingleobject

WaitForMultipleObjects