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


Метод IMFCaptureEngineOnEventCallback::OnEvent (mfcaptureengine.h)

Вызывается подсистемой отслеживания для уведомления приложения о событии записи.

Синтаксис

HRESULT OnEvent(
  [in] IMFMediaEvent *pEvent
);

Параметры

[in] pEvent

Указатель на интерфейс IMFMediaEvent . Используйте этот интерфейс для получения сведений о событии, как описано в разделе Примечания.

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

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Чтобы получить тип события, вызовите IMFMediaEvent::GetExtendedType. Этот метод возвращает один из следующих идентификаторов GUID.

Идентификатор GUID Описание
MF_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED Метод IMFCaptureSource::RemoveAllEffects завершен.
MF_CAPTURE_ENGINE_CAMERA_STREAM_BLOCKED Видеосъемка заблокирована драйвером.
MF_CAPTURE_ENGINE_CAMERA_STREAM_UNBLOCKED Запись видео была восстановлена драйвером после блокировки.
MF_CAPTURE_ENGINE_EFFECT_ADDED Метод IMFCaptureSource::AddEffect завершен.
MF_CAPTURE_ENGINE_EFFECT_REMOVED Метод IMFCaptureSource::RemoveEffect завершен.
MF_CAPTURE_ENGINE_ERROR Во время записи произошла ошибка.
MF_CAPTURE_ENGINE_INITIALIZED Метод IMFCaptureEngine::Initialize завершен.
MF_CAPTURE_ENGINE_PHOTO_TAKEN Метод IMFCaptureEngine::TakePhoto завершен.
MF_CAPTURE_ENGINE_PREVIEW_STARTED Метод IMFCaptureEngine::StartPreview завершен.
MF_CAPTURE_ENGINE_PREVIEW_STOPPED Метод IMFCaptureEngine::StopPreview завершен.
MF_CAPTURE_ENGINE_RECORD_STARTED Метод IMFCaptureEngine::StartRecord завершен.
MF_CAPTURE_ENGINE_RECORD_STOPPED Метод IMFCaptureEngine::StopRecord завершен.
MF_CAPTURE_SINK_PREPARED Метод IMFCaptureSink::P repare завершен.
MF_CAPTURE_SOURCE_CURRENT_DEVICE_MEDIA_TYPE_SET Метод IMFCaptureSource::SetCurrentDeviceMediaType завершен.
 

Этот метод можно вызвать из рабочего потока. Реализация должна быть потокобезопасной.

Чтобы получить код состояния для события, вызовите IMFMediaEvent::GetStatus. Если код состояния является кодом ошибки, это означает, что запрошенная операция завершилась сбоем.

Кроме того, объект события, заданный pEvent, может содержать любой из следующих атрибутов.

Чтобы получить атрибуты события, используйте интерфейс IMFAttributes , который наследует IMFMediaEvent .

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header mfcaptureengine.h

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

IMFCaptureEngineOnEventCallback