Метод CBasePin.GetMediaType

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

Метод GetMediaType извлекает предпочтительный тип носителя по значению индекса.

Синтаксис

virtual HRESULT GetMediaType(
   int        iPosition,
   CMediaType *pMediaType
);

Параметры

iPosition

Отсчитываемое от нуля значение индекса.

pMediaType

Указатель на объект CMediaType , который получает тип мультимедиа.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_S_NO_MORE_ITEMS
Индекс вне диапазона.
E_INVALIDARG
Индекс меньше нуля.
E_UNEXPECTED
Непредвиденная ошибка.

Комментарии

Из списка предпочтительных типов мультимедиа контакта этот метод возвращает тип со значением индекса iPosition. Класс CEnumMediaTypes вызывает этот метод для перечисления предпочтительных типов мультимедиа.

Базовый класс возвращает E_UNEXPECTED. Переопределите этот метод в производном классе.

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CBasePin