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


Метод CBasePin.CheckConnect

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

Метод CheckConnect определяет, подходит ли закрепление.

Синтаксис

virtual HRESULT CheckConnect(
   IPin *pPin
);

Параметры

pPin

Указатель на интерфейс IPin другого контакта.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_E_INVALID_DIRECTION
Маршруты закрепления несовместимы.

Комментарии

Этот метод вызывается для обоих контактов в начале процесса подключения. Соединительный контакт вызывает его из метода CBasePin::Connect , а получающий пин-код вызывает его из метода CBasePin::ReceiveConnection .

Используйте этот метод, чтобы определить, подходит ли контакт, указанный параметром pPin , для подключения. Базовый класс возвращает ошибку, если оба контакта имеют одинаковое направление (оба входных или оба выходных данных). Производные классы могут переопределить этот метод для проверки других функций в закреплении. Например, класс CBaseOutputPin запрашивает входной контакт для интерфейса IMemInputPin .

Если этот метод завершается ошибкой, подключение завершается сбоем, а пин-код вызывает метод CBasePin::BreakConnect . Используйте BreakConnect , чтобы освободить все ресурсы, полученные в CheckConnect. Например, если CheckConnect вызывает метод QueryInterface , BreakConnect должен освободить интерфейс .

Требования

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

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

Класс CBasePin