Метод 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 кода возврата.
Этот метод возвращает MF_E_MULTIPLE_SUBSCRIBERS, если вы ранее вызывали IMFMediaEventGenerator::BeginGetEvent и еще не вызывали IMFMediaEventGenerator::EndGetEvent.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfobjects.h (включая Mfidl.h)
Библиотека Mfuuid.lib

См. также раздел

IMFMediaEventGenerator

Генераторы событий мультимедиа