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


Метод CBasePin.GetConnected

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

Метод GetConnected извлекает контакт, подключенный к этому контакту.

Синтаксис

IPin* GetConnected();

Параметры

Этот метод не имеет параметров.

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

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

Комментарии

Если контакт не подключен, этот метод возвращает значение NULL. Вызовите метод CBasePin::IsConnected , чтобы определить, подключен ли контакт.

Метод не вызывает AddRef в интерфейсе IPin , поэтому вызывающий объект не должен освобождать интерфейс.

Примеры

Так как число ссылок не увеличивается в возвращаемом указателе, вызовы методов можно объединить в цепочку:

if (m_MyPin->IsConnected())
{
    m_MyPin->GetConnected()->EndOfStream();
}

Этот шаблон кодирования очень удобен; но, как показано в примере, необходимо соблюдать осторожность, чтобы не разыменовывать указатель NULL , если контакт не подключен.

Требования

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

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

Класс CBasePin