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


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

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

Примечание Интерфейс IEnumRegFilters является устаревшим.
 
Заполняет массив описаниями следующего набора фильтров (заданных параметром cFilters), которые соответствуют требованиям, заданным при создании перечислителя.

Синтаксис

HRESULT Next(
  [in]  ULONG     cFilters,
  [out] REGFILTER **apRegFilter,
  [out] ULONG     *pcFetched
);

Параметры

[in] cFilters

Количество фильтров.

[out] apRegFilter

Адрес указателя на массив указателей REGFILTER .

[out] pcFetched

Указатель на фактическое количество переданных фильтров.

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

Возвращает одно из следующих значений HRESULT .

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

Комментарии

Вызывающее приложение должно использовать функцию Microsoft Win32 CoTaskMemFree, чтобы освободить каждый указатель REGFILTER , возвращенный в массиве. Не освобождайте элемент Name структуры REGFILTER отдельно, так как IEnumRegFilters::Next выделяет память для этой строки как часть структуры REGFILTER .

Если количество зарегистрированных фильтров изменится, состояние перечислителя больше не будет соответствовать состоянию реестра. В результате этот метод возвращает VFW_E_ENUM_OUT_OF_SYNC. Следует отменить все данные, полученные в результате предыдущих вызовов перечислителя, так как они могут быть недопустимыми, и обновить перечислитель, вызвав метод Reset . Затем можно безопасно вызвать Next метод .

Требования

Требование Значение
Целевая платформа Windows
Header strmif.h (включая Dshow.h)

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

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

Интерфейс IEnumRegFilters