IMFCaptureEngineOnEventCallback::OnEvent 方法 (mfcaptureengine.h)

由捕获引擎调用,以通知应用程序捕获事件。

语法

HRESULT OnEvent(
  [in] IMFMediaEvent *pEvent
);

parameters

[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 指定的事件对象可能包含以下任何属性。

若要获取事件属性,请使用 IMFMediaEvent 继承的 IMFAttributes 接口。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 mfcaptureengine.h

另请参阅

IMFCaptureEngineOnEventCallback