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
標頭 mfcaptureengine.h

另請參閱

IMFCaptureEngineOnEventCallback