IMFMediaEventGenerator::GetEvent 方法 (mfobjects.h)

擷取佇列中的下一個事件。 這個方法是同步方法。

語法

HRESULT GetEvent(
  [in]  DWORD         dwFlags,
  [out] IMFMediaEvent **ppEvent
);

參數

[in] dwFlags

指定下列其中一個值。

意義
0
方法會封鎖直到事件產生器將事件排入佇列為止。
MF_EVENT_FLAG_NO_WAIT
方法會立即傳回。

[out] ppEvent

接收 IMFMediaEvent 介面的指標。 呼叫端必須釋放 介面。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
NULL 指標自變數。
MF_E_MULTIPLE_SUBSCRIBERS
有擱置的要求。
MF_E_NO_EVENTS_AVAILABLE
佇列中沒有事件。
MF_E_SHUTDOWN
物件已關閉。

備註

這個方法會同步執行。

如果佇列已經包含事件,方法會立即傳回S_OK。 如果佇列不包含事件,則行為取決於 dwFlags 的值:

  • 如果 dwFlags 為 0,方法會無限期地封鎖,直到新的事件排入佇列,或直到事件產生器關閉為止。
  • 如果 dwFlags 是MF_EVENT_FLAG_NO_WAIT,方法會立即失敗,並傳回碼MF_E_NO_EVENTS_AVAILABLE。
如果您先前稱為 IMFMediaEventGenerator::BeginGetEvent 且尚未呼叫 IMFMediaEventGenerator::EndGetEvent,這個方法會傳回MF_E_MULTIPLE_SUBSCRIBERS。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfobjects.h (包含 Mfidl.h)
程式庫 Mfuuid.lib

另請參閱

IMFMediaEventGenerator

媒體事件產生器