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


Метод CBasePin.Connect

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

Метод Connect подключает контакт к другому контакту. Этот метод реализует метод IPin::Connect .

Синтаксис

HRESULT Connect(
         IPin          *pReceivePin,
   const AM_MEDIA_TYPE *pmt
);

Параметры

pReceivePin

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

Pmt

Указатель на структуру AM_MEDIA_TYPE , указывающую тип носителя для соединения.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_ALREADY_CONNECTED
Контакт уже подключен.
VFW_E_NO_ACCEPTABLE_TYPES
Не удалось найти допустимый тип мультимедиа.
VFW_E_NOT_STOPPED
Фильтр активен, а контакт не поддерживает динамическое повторное подключение.
VFW_E_TYPE_NOT_ACCEPTED
Указанный тип носителя недопустим.

Комментарии

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

В базовом классе этот метод проверяет, подключен ли контакт и остановлен ли фильтр. Он делегирует остальную часть процесса подключения методу CBasePin::AgreeMediaType .

Требования

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

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

Класс CBasePin