Метод 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. Возможные значения включают значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Фильтр не находится в графе фильтра. |
Комментарии
Этот метод переопределяет метод CTransformFilter::CompleteConnect .
Поведение фильтра зависит от порядка соединений с закреплением:
- Если входной контакт подключен первым, для подключения используется временный распределител. Когда выходной контакт подключен, фильтр повторно подключает входной контакт. Повторное подключение входного контакта приводит к тому, что фильтр вышестоящий пересматривает распределителя. На этом этапе входной контакт предлагает распределителя из нижестоящего фильтра. Дополнительные сведения см. в разделе CTransInPlaceInputPin::GetAllocator.
- Если выходной контакт подключен первым, выходной контакт не выбирает распределителя. Когда входной контакт подключен, он согласовывает распределителя для обоих подключений. Если типы входных и выходных носителей не совпадают, фильтр повторно подключает выходной контакт с помощью входного типа.
Фильтр выполняет все повторные соединения контактов путем вызова метода CBaseFilter::ReconnectPin . Метод ReconnectPin , в свою очередь, вызывает метод IFilterGraph2::ReconnectEx в диспетчере графов фильтров.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|