Поделиться через


Метод IMFVirtualCamera::CreateSyncSemaphore (mfvirtualcamera.h)

Оболочка для метода IKsControl::KsEvent , которая включает или отключает семафор.

Синтаксис

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

Параметры

kseventSet

GUID, представляющий KSEVENT. Задать поле.

kseventId

ULONG, представляющий поле KSEVENT.Id .

kseventFlags

Набор битовых флагов или флагов, представляющих KSEVENT. Поле Флаги .

semaphoreHandle

Дескриптор , представляющий KSEVENTDATA. Поле SemaphoreHandle.Semaphore .

semaphoreAdjustment

Значение корректировки, представляющее KSEVENTDATA. Поле SemaphoreHandle.Adjustment .

cameraSyncObject

Выходной параметр, получающий интерфейс IMFSyncObject . Вызывающий объект отвечает за освобождение этого объекта.

Возвращаемое значение

Возвращает значение HRESULT, включая, помимо прочего, следующие значения:

Код ошибки Описание
S_OK Выполнено

Комментарии

Этот метод позволяет вызывающему объекту создать объект-семафор между вызывающим объектом и виртуальной камерой для синхронизации. Реализация виртуальной камеры будет получать вызов IKsControl::KsEvent при вызове этого API. Полученный объект IMFCameraSyncObject можно использовать для блокировки события с виртуальной камеры.

При получении объекта IMFCameraSyncObject вызывающий объект может использовать метод IMFCameraSyncObject::WaitOnSignal или метод WaitForSingleObject или WaitForMultipleObject в методе HANDLE, предоставленном методу CreateSyncObject . Вызывающий объект не должен ждать в обоих случаях, так как сигнал для события может быть задан драйвером только один раз.

Вызывающий объект должен вызывать IMFCameraSyncObject::Shutdown , если объект синхронизации больше не требуется, независимо от того, успешно ли выполнена операция ожидания.

Требования

   
Минимальная версия клиента Сборка Windows 22000
Верхняя часть mfvirtualcamera.h
Библиотека mfsensorgroup.lib
DLL mfsensorgroup.dll

См. также раздел

IKsControl::KsEvent

IMFCameraSyncObject

IMFCameraSyncObject::WaitOnSignal

WaitForSingleObject

WaitForMultipleObjects