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


Метод IEnumFilters::Next (strmif.h)

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

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

Синтаксис

HRESULT Next(
  [in]  ULONG       cFilters,
  [out] IBaseFilter **ppFilter,
  [out] ULONG       *pcFetched
);

Параметры

[in] cFilters

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

[out] ppFilter

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

[out] pcFetched

Получает количество полученных фильтров. Может иметь значение NULL , если cFilters равно 1.

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

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

Комментарии

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

Если граф фильтра меняется (например, приложение удаляет фильтр), перечислитель больше не согласуется с графом, а метод возвращает VFW_E_ENUM_OUT_OF_SYNC. Отмените все данные, полученные при предыдущих вызовах перечислителя, так как они могут быть недопустимыми. Обновите перечислитель, вызвав метод IEnumFilters::Reset . Затем можно безопасно вызвать Next метод .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Коды ошибок и успешного выполнения

Интерфейс IEnumFilters