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 |