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


Метод CEnumPins.Next

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

Метод Next извлекает указанное количество контактов в последовательности перечисления. Этот метод реализует метод IEnumPins::Next .

Синтаксис

HRESULT Next(
   ULONG cPins,
   IPin  **ppPins,
   ULONG *pcFetched
);

Параметры

cPins

Количество извлекаемых контактов.

ppPins

Массив cPins размера, заполненный указателями IPin .

pcFetched

Указатель на переменную, которая получает количество полученных контактов. Может иметь значение NULL , если cPins имеет значение 1.

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

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

Код возврата Описание
S_FALSE
Не удалось получить столько контактов, сколько запрошено.
S_OK
Успешно.
E_INVALIDARG
Недопустимый аргумент.
E_POINTER
Аргумент указателя NULL.
VFW_E_ENUM_OUT_OF_SYNC
Состояние фильтра изменилось и теперь не согласуется с перечислителем.

Комментарии

Этот метод извлекает указатели на указанное количество контактов, начиная с текущей позиции в перечислении, и помещает их в указанный массив.

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

Если метод выполняется успешно, все указатели IPin имеют незавершенные числа ссылок. Не забудьте освободить их по завершении.

Требования

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

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

Класс CEnumPins