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 值从具有 SP1 的 Microsoft Windows Server 2003 开始可用,使用带有筛选器管理器汇总的 Sp2 的 Windows XP 可用。 有关带有 SP2 的 Windows XP 筛选器管理器汇总包的详细信息,请参阅 Microsoft 知识库中的文章914882“ 适用于 Windows XP SP2 的筛选器管理器汇总包”。
FilterAggregateStandardInformation lpBuffer 参数指向的缓冲区接收每个微筛选器实例或旧筛选器的FILTER_AGGREGATE_STANDARD_INFORMATION结构。 此 dwInformationClass 值从 Windows Vista 开始可用。

[out] lpBuffer

指向调用方分配的缓冲区的指针,该缓冲区接收请求的信息。 返回的信息类型由 dwInformationClass 参数定义。

[in] dwBufferSize

lpBuffer 参数指向的缓冲区的大小(以字节为单位)。 调用方应根据给定的 dwInformationClass 设置此参数。

[out] lpBytesReturned

指向调用方分配的变量的指针,如果对 FilterFindNext 的调用成功,该变量接收 lpBuffer 指向的缓冲区中返回的字节数。 此参数是必需的,不能为 NULL

返回值

如果成功,FilterFindNext 将返回S_OK。 否则,它将返回 HRESULT 错误值,例如以下值之一:

返回代码 说明
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
lpBuffer 指向的缓冲区不够大,无法包含请求的信息。 返回此值时, lpBytesReturned 将包含给定 dwInformationClass 结构所需的缓冲区大小(以字节为单位)。
HRESULT_FROM_WIN32 (ERROR_INVALID_PARAMETER)
dwInformationClass 参数指定了无效值。 例如,如果为 Windows Vista 之前的操作系统指定 了 FilterAggregateStandardInformation则 FilterFindNext 将返回此 HRESULT 值。
HRESULT_FROM_WIN32 (ERROR_NO_MORE_ITEMS)
在已注册的筛选器驱动程序的全局列表中找不到更多筛选器驱动程序。

注解

通过调用 FilterFindFirst 建立筛选器搜索句柄后,使用 FilterFindNext 函数在已注册筛选器的全局列表中搜索其他筛选器。

FilterFindNext 在每个调用 (微筛选器驱动程序实例或旧筛选器驱动程序) 查找一个筛选器驱动程序。

从具有 SP1 的 Microsoft Windows Server 2003 和具有 SP2 的 Microsoft Windows XP(带有筛选器管理器汇总)开始, FilterFindFirstFilterFindNext 可以提供旧版筛选器驱动程序信息和微筛选器驱动程序实例信息。 在早期版本的 Windows 上, FilterFindFirstFilterFindNext 只能提供有关微筛选器的信息 (请参阅上述 dwInformationClass 参数的说明) 。

FilterFindFirstFilterFindNext 按与基本文件系统的距离减小的顺序返回有关筛选器驱动程序的信息。 首先返回离基本文件系统最远的筛选器的信息。 有关第二远筛选器的信息将返回第二个。 最后返回最靠近基本文件系统的筛选器的信息。

要求

要求
目标平台 通用
标头 fltuser.h (包括 FltUser.h)
Library FltLib.lib
DLL FltLib.dll

另请参阅

FILTER_AGGREGATE_BASIC_INFORMATION

FILTER_AGGREGATE_STANDARD_INFORMATION

FILTER_FULL_INFORMATION

FilterFindClose

FilterFindFirst