Поделиться через


Метод CTransformOutputPin.GetMediaType

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

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

Синтаксис

HRESULT GetMediaType(
   int        iPosition,
   CMediaType *pMediaType
);

Параметры

iPosition

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

pMediaType

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

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

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

Код возврата Описание
S_OK
Успешное завершение
VFW_S_NO_MORE_ITEMS
Индекс вне диапазона

Комментарии

Этот метод переопределяет метод CBasePin::GetMediaType . Если входной контакт фильтра не подключен, метод возвращает VFW_S_NO_MORE_ITEMS. В противном случае он вызывает метод CTransformFilter::GetMediaType фильтра для получения типа мультимедиа. Метод CTransformFilter::GetMediaType является чисто виртуальным; производный класс фильтра должен переопределить его.

Требования

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