Compartilhar via


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

Um wrapper em torno do método IKsControl::KsEvent , que habilita ou desabilita um semáforo.

Sintaxe

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

Parâmetros

kseventSet

Um GUID que representa o KSEVENT. Definir campo.

kseventId

Um ULONG que representa o campo KSEVENT.Id .

kseventFlags

Um conjunto de sinalizadores bit a bit ou ed que representam o KSEVENT. Campo Sinalizadores .

semaphoreHandle

Um identificador que representa o KSEVENTDATA. Campo SemaphoreHandle.Semaphore .

semaphoreAdjustment

Um valor de ajuste que representa o KSEVENTDATA. Campo SemaphoreHandle.Adjustment .

cameraSyncObject

Um parâmetro de saída que recebe uma interface IMFSyncObject . O chamador é responsável por liberar esse objeto.

Valor retornado

Retorna um valor HRESULT, incluindo, mas não se limitando aos seguintes valores:

Código do erro Descrição
S_OK Com sucesso

Comentários

Esse método permite que o chamador crie um objeto de semáforo entre o chamador e a câmera virtual para sincronização. A implementação da câmera virtual receberá uma chamada para IKsControl::KsEvent quando essa API for chamada. O IMFCameraSyncObject resultante pode ser usado para bloquear o evento da câmera virtual.

Quando IMFCameraSyncObject é obtido, o chamador pode optar por usar o método IMFCameraSyncObject::WaitOnSignal ou chamar WaitForSingleObject ou WaitForMultipleObjects no HANDLE que foi fornecido ao método CreateSyncObject . O chamador não deve esperar em ambos, pois o sinal no evento só pode ser definido uma vez pelo driver.

O chamador deve chamar IMFCameraSyncObject::Shutdown quando o objeto de sincronização não for mais necessário, independentemente de a operação de espera ter sido bem-sucedida ou não.

Requisitos

   
Cliente mínimo com suporte Windows Build 22000
Cabeçalho mfvirtualcamera.h
Biblioteca mfsensorgroup.lib
DLL mfsensorgroup.dll

Confira também

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

WaitForSingleObject

Waitformultipleobjects