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


Метод CBasePin.TryMediaTypes

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

При выборе списка типов TryMediaTypes мультимедиа метод пытается завершить соединение с помощью одного из этих типов.

Синтаксис

virtual HRESULT TryMediaTypes(
         IPin            *pReceivePin,
   const CMediaType      *pmt,
         IEnumMediaTypes *pEnum
);

Параметры

pReceivePin

Указатель на интерфейс IPin принимающего контакта.

Pmt

Указатель на объект CMediaType , ограничивающий возможные типы носителей, или значение NULL.

pEnum

Указатель на интерфейс IEnumMediaTypes , используемый для перечисления списка типов мультимедиа.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_NO_ACCEPTABLE_TYPES
Не удалось найти допустимый тип носителя.

Комментарии

Для каждого типа мультимедиа, возвращаемого интерфейсом IEnumMediaTypes , этот метод пытается установить соединение, вызывая метод CBasePin::AttemptConnection .

Если параметр pmt не равен NULL, закрепление пропускает типы носителей, которые не соответствуют этому типу. Параметр pmt может указать частичный тип носителя. Частичный тип мультимедиа имеет значение GUID_NULL для основного типа, подтипа или формата. Значение GUID_NULL соответствует любому типу, аналогично значению с подстановочными знаками.

Требования

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

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

Класс CBasePin