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 で指定されたイベント オブジェクトには、次のいずれかの属性が含まれる場合があります。

イベント属性を取得するには、IMFMediaEvent が継承する IMFAttributes インターフェイスを使用します。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfcaptureengine.h

関連項目

IMFCaptureEngineOnEventCallback