Метод IMediaSample::GetMediaType (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Метод GetMediaType извлекает тип носителя, если тип носителя отличается от предыдущего примера.

Синтаксис

HRESULT GetMediaType(
  AM_MEDIA_TYPE **ppMediaType
);

Параметры

ppMediaType

Адрес переменной, получающей указатель на структуру AM_MEDIA_TYPE . Если тип носителя не изменился по сравнению с предыдущим примером, параметру *ppMediaType присваивается значение NULL.

Возвращаемое значение

Возвращает значение HRESULT . Возможные значения включают значения, показанные в следующей таблице.

Код возврата Описание
S_FALSE
Тип носителя не изменился по сравнению с предыдущим примером.
S_OK
Успешно.
E_OUTOFMEMORY
Недостаточно памяти.

Комментарии

Этот метод позволяет фильтру вносить ограниченные изменения в тип носителя, например изменение палитры. Чтобы внести значительные изменения в тип носителя, контактам может потребоваться повторное подключение и повторное согласование типа носителя.

Если метод возвращает S_OK, вызывающий объект должен освободить память для типа носителя, включая блок форматирования. Функцию DeleteMediaType можно использовать в библиотеке базовых классов DirectShow.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Коды ошибок и успешного выполнения

Интерфейс IMediaSample