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


Функция FilterFindNext (fltuser.h)

Функция FilterFindNext продолжает поиск фильтра, запущенный вызовом FilterFindFirst.

Синтаксис

HRESULT FilterFindNext(
  [in]  HANDLE                   hFilterFind,
  [in]  FILTER_INFORMATION_CLASS dwInformationClass,
  [out] LPVOID                   lpBuffer,
  [in]  DWORD                    dwBufferSize,
  [out] LPDWORD                  lpBytesReturned
);

Параметры

[in] hFilterFind

Фильтруйте дескриптор поиска, возвращенный предыдущим вызовом FilterFindFirst.

[in] dwInformationClass

Тип запрашиваемой информации. Этот параметр должен иметь одно из следующих значений.

Значение Значение
FilterFullInformation Буфер, на который указывает параметр lpBuffer , получает структуру FILTER_FULL_INFORMATION для каждого экземпляра минифильтра. Устаревшие фильтры игнорируются.
FilterAggregateBasicInformation Буфер, на который указывает параметр lpBuffer , получает FILTER_AGGREGATE_BASIC_INFORMATION структуру для каждого экземпляра минифильтра или устаревшего фильтра. Это значение dwInformationClass доступно начиная с Microsoft Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2) с накопительным пакетом обновления диспетчера фильтров. Дополнительные сведения о накопительном пакете диспетчера фильтров для Windows XP с пакетом обновления 2 (SP2) см. в статье 914882 " Накопительный пакет диспетчера фильтров для Windows XP с пакетом обновления 2 (SP2) в базе знаний Майкрософт.
FilterAggregateStandardInformation Буфер, на который указывает параметр lpBuffer , получает структуру FILTER_AGGREGATE_STANDARD_INFORMATION для каждого экземпляра минифильтра или устаревшего фильтра. Это значение dwInformationClass доступно начиная с Windows Vista.

[out] lpBuffer

Указатель на буфер, выделенный вызывающим объектом, который получает запрошенные сведения. Тип возвращаемой информации определяется параметром dwInformationClass .

[in] dwBufferSize

Размер (в байтах) буфера, на который указывает параметр lpBuffer . Вызывающий объект должен задать этот параметр в соответствии с заданным dwInformationClass.

[out] lpBytesReturned

Указатель на переменную, выделенную вызывающим объектом, которая получает количество возвращаемых байтов в буфере, на которое указывает lpBuffer , если вызов FilterFindNext завершается успешно. Этот параметр является обязательным и не может иметь значение NULL.

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

FilterFindNext возвращает S_OK в случае успешного выполнения. В противном случае возвращается значение ошибки HRESULT, например одно из следующих значений:

Код возврата Описание
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
Буфер, на который указывает lpBuffer , недостаточно велик, чтобы содержать запрошенные сведения. При возвращении этого значения lpBytesReturned будет содержать размер буфера, необходимого для данной структуры dwInformationClass , в байтах.
HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER)
Для параметра dwInformationClass указано недопустимое значение. Например, если параметр FilterAggregateStandardInformation указан для операционной системы, предшествующей Windows Vista, функция FilterFindNext возвращает это значение HRESULT.
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS)
В глобальном списке зарегистрированных драйверов фильтров больше нет.

Комментарии

После установки дескриптора поиска фильтра путем вызова FilterFindFirst используйте функцию FilterFindNext для поиска дополнительных фильтров в глобальном списке зарегистрированных фильтров.

FilterFindNext находит один драйвер фильтра (экземпляр драйвера минифильтра или устаревший драйвер фильтра) для каждого вызова.

Начиная с Microsoft Windows Server 2003 с пакетом обновления 1 (SP1) и Microsoft Windows XP с пакетом обновления 2 (SP2) с накопительным пакетом обновления 2 (SP2) FilterFindFirst и FilterFindNext могут предоставлять устаревшие сведения о драйвере фильтра и сведения об экземпляре драйвера минифильтра. В более ранних версиях Windows FilterFindFirst и FilterFindNext могут предоставлять только сведения о минифильтрах (см. описание параметра dwInformationClass выше).

FilterFindFirst и FilterFindNext возвращают сведения о драйверах фильтров в порядке уменьшения расстояния от базовой файловой системы. Сначала возвращаются сведения о фильтре, наиболее удаленном от базовой файловой системы. Сведения о втором самом дальнем фильтре возвращаются вторым. Последними возвращаются сведения о фильтре, наиболее близком к базовой файловой системе.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltuser.h (включая FltUser.h)
Библиотека FltLib.lib
DLL FltLib.dll

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

FILTER_AGGREGATE_BASIC_INFORMATION

FILTER_AGGREGATE_STANDARD_INFORMATION

FILTER_FULL_INFORMATION

FilterFindClose

FilterFindFirst