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


Метод CTransformFilter.GetPin

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

Метод GetPin извлекает закрепление.

Синтаксис

virtual CBasePin* GetPin(
   int n
);

Параметры

n

Число указанного контакта, индексированного с нуля. В этом фильтре закрепление 0 является входным контактом, а закрепление 1 — выходной контакт.

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

Возвращает указатель на объект CBasePin , реализующий закрепление, или значение NULL в случае сбоя метода.

Комментарии

Этот метод реализует чистый виртуальный метод CBaseFilter::GetPin . При первом вызове метода создаются оба контакта.

Этот метод не увеличивает число ссылок на возвращенный контакт, поэтому возвращенный контакт не имеет незавершенного количества ссылок. Если вызывающему объекту необходимо сохранить ссылку на закрепление, он должен вызвать метод IUnknown::AddRef для контакта.

Если фильтр использует контакты CTransformInputPin и CTransformOutputPin по умолчанию, вероятно, вам не нужно переопределять этот метод. Однако если фильтр использует контакты, расширяющие эти классы, необходимо переопределить этот метод, чтобы создать контакты этого типа.

Требования

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

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

Класс CTransformFilter