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,则 方法无限期地阻止,直到新事件排队或事件生成器关闭为止。
  • 如果MF_EVENT_FLAG_NO_WAIT dwFlags ,该方法将立即失败,返回代码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)
Library Mfuuid.lib

另请参阅

IMFMediaEventGenerator

媒体事件生成器