FilterInstanceFindFirst 函数 (fltuser.h)

FilterInstanceFindFirst 函数返回有关微筛选器驱动程序实例的信息,并用作扫描微筛选器实例的起点。

语法

HRESULT FilterInstanceFindFirst(
  [in]  LPCWSTR                    lpFilterName,
  [in]  INSTANCE_INFORMATION_CLASS dwInformationClass,
  [out] LPVOID                     lpBuffer,
  [in]  DWORD                      dwBufferSize,
  [out] LPDWORD                    lpBytesReturned,
  [out] LPHANDLE                   lpFilterInstanceFind
);

参数

[in] lpFilterName

指向以 null 结尾的宽字符字符串的指针,该字符串包含拥有实例的微筛选器驱动程序的名称。

[in] dwInformationClass

返回的实例信息结构的类型。 此参数须为下列值之一。

含义
InstanceBasicInformation 返回实例 的INSTANCE_BASIC_INFORMATION 结构。
InstanceFullInformation 返回实例 的INSTANCE_FULL_INFORMATION 结构。
InstancePartialInformation 返回实例 的INSTANCE_PARTIAL_INFORMATION 结构。
InstanceAggregateStandardInformation 返回实例 的INSTANCE_AGGREGATE_STANDARD_INFORMATION 结构。 未利用结构的 LegacyFilter 部分。 此结构从 Windows Vista 开始可用。

[out] lpBuffer

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

[in] dwBufferSize

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

[out] lpBytesReturned

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

[out] lpFilterInstanceFind

指向调用方分配的变量的指针,如果 对 FilterInstanceFindFirst 的调用成功,该变量接收微筛选器的搜索句柄;否则,它将接收INVALID_HANDLE_VALUE。 此搜索句柄可用于后续调用 FilterInstanceFindNextFilterInstanceFindClose

返回值

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

返回代码 说明
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
lpBuffer 指向的缓冲区不够大,无法包含请求的信息。 返回此值时, lpBytesReturned 将包含给定 dwInformationClass 结构所需的缓冲区大小(以字节为单位)。
HRESULT_FROM_WIN32 (ERROR_INVALID_PARAMETER)
dwInformationClass 参数指定了无效值。 例如,如果为 Windows Vista 之前的操作系统指定 InstanceAggregateStandardInformation ,则函数将返回此 HRESULT 值。
HRESULT_FROM_WIN32 (ERROR_NO_MORE_ITEMS)
由 lpFilterName 参数指定的微筛选器在文件系统堆栈上没有 实例。

备注

FilterInstanceFindFirst 函数打开一个搜索句柄,并返回由 lpFilterName 命名的微筛选器实例的相关信息。 建立搜索句柄后,调用 FilterInstanceFindNext 以搜索同一微筛选器的其他实例。 如果不再需要搜索句柄,请通过调用 FilterInstanceFindClose 将其关闭。

要求

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

请参阅

FilterInstanceFindClose

FilterInstanceFindNext

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION