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


Метод CTransInPlaceFilter.CompleteConnect

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

Метод CompleteConnect завершает закрепление соединения.

Синтаксис

HRESULT CompleteConnect(
   PIN_DIRECTION direction,
   IPin          *pReceivePin
);

Параметры

direction

Член перечисленного типа PIN_DIRECTION , указывающий, какой контакт на фильтре выполняет подключение.

pReceivePin

Указатель на интерфейс IPin другого контакта в этой попытке подключения.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_NOT_IN_GRAPH
Фильтр не находится в графе фильтра.

Комментарии

Этот метод переопределяет метод CTransformFilter::CompleteConnect .

Поведение фильтра зависит от порядка соединений с закреплением:

  • Если входной контакт подключен первым, для подключения используется временный распределител. Когда выходной контакт подключен, фильтр повторно подключает входной контакт. Повторное подключение входного контакта приводит к тому, что фильтр вышестоящий пересматривает распределителя. На этом этапе входной контакт предлагает распределителя из нижестоящего фильтра. Дополнительные сведения см. в разделе CTransInPlaceInputPin::GetAllocator.
  • Если выходной контакт подключен первым, выходной контакт не выбирает распределителя. Когда входной контакт подключен, он согласовывает распределителя для обоих подключений. Если типы входных и выходных носителей не совпадают, фильтр повторно подключает выходной контакт с помощью входного типа.

Фильтр выполняет все повторные соединения контактов путем вызова метода CBaseFilter::ReconnectPin . Метод ReconnectPin , в свою очередь, вызывает метод IFilterGraph2::ReconnectEx в диспетчере графов фильтров.

Требования

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

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

Класс CTransInPlaceFilter