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


Класс CEnumPins

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

Иерархия классов cenumpins

Класс CEnumPins реализует перечислитель для закрепления.

Этот класс реализует интерфейс IEnumPins . Он вызывает следующие методы CBaseFilter :

  • CBaseFilter::GetPin: извлекает закрепление фильтра, на который ссылается отсчитываемый от нуля индекс.
  • CBaseFilter::GetPinCount: извлекает общее количество контактов в фильтре.
  • CBaseFilter::GetPinVersion: определяет, были ли изменены контакты.

Если фильтр динамически создает или уничтожает контакты, он увеличивает версию закрепления при каждом изменении контактов. Если номер версии изменяется, объект перечислителя больше не синхронизируется с фильтром. После того как перечислитель не синхронизирован, методы в CEnumPins обратном VFW_E_ENUM_OUT_OF_SYNC. Вызовите метод CEnumPins::Reset , чтобы повторно выполнить синхронизацию перечислителя.

Открытые методы Описание
CEnumPins Метод конструктора.
~CEnumPins Метод деструктора. Виртуальной.
Методы IEnumPins Описание
Clone Создает копию перечислителя с тем же состоянием перечисления.
Далее Извлекает указанное количество контактов.
Reset Сбрасывает последовательность перечисления в начало.
Пропустить Пропускает указанное количество контактов.

Требования

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