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


Метод CBasePin.AttemptConnection

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

Метод AttemptConnection подключается к другому контакту, используя указанный тип носителя.

Синтаксис

virtual HRESULT AttemptConnection(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Параметры

pReceivePin

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

Pmt

Указатель на объект CMediaType , указывающий тип носителя.

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

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

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

Комментарии

Этот метод пытается соединить два контакта с определенным типом носителя. Если тип недопустим, метод завершается ошибкой, не пробуя другие типы мультимедиа.

Если тип носителя является допустимым, этот метод вызывает метод IPin::ReceiveConnection получающего пин-кода. Затем он вызывает метод CBasePin::CompleteConnect для завершения подключения.

Требования

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

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

Класс CBasePin