FltGetFilterInformation 函数 (fltkernel.h)

FltGetFilterInformation 例程提供有关微筛选器驱动程序的信息。

语法

NTSTATUS FLTAPI FltGetFilterInformation(
  [in]  PFLT_FILTER              Filter,
  [in]  FILTER_INFORMATION_CLASS InformationClass,
  [out] PVOID                    Buffer,
  [in]  ULONG                    BufferSize,
  [out] PULONG                   BytesReturned
);

参数

[in] Filter

调用方不透明的筛选器指针。

[in] InformationClass

请求的信息类型。 此参数可以具有以下值之一。

含义
FilterFullInformation Buffer 参数指向的 缓冲区 接收微筛选器驱动程序 的FILTER_FULL_INFORMATION 结构。
FilterAggregateBasicInformation Buffer 参数指向的 缓冲区 接收微筛选器驱动程序 的FILTER_AGGREGATE_BASIC_INFORMATION 结构。 此信息 值从 Microsoft Windows Server 2003 SP1 和带有筛选器管理器汇总的 Windows XP SP2 开始可用。 有关适用于 Windows XP SP2 的筛选器管理器汇总包的详细信息,请参阅 Microsoft 知识库中的文章914882“ 适用于 Windows XP SP2 的筛选器管理器汇总包”。
FilterAggregateStandardInformation Buffer 参数指向的 缓冲区 接收微筛选器驱动程序 的FILTER_AGGREGATE_STANDARD_INFORMATION 结构。 未使用结构的 LegacyFilter 部分。 此信息 值从 Windows Vista 开始可用。

[out] Buffer

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

[in] BufferSize

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

[out] BytesReturned

指向调用方分配的变量的指针,该变量接收 Buffer 指向的缓冲区中返回的字节数。 如果 BufferSize 的输入值太小, FltGetFilterInformation 将返回STATUS_BUFFER_TOO_SMALL并将此变量设置为存储所请求信息所需的字节数。 此参数是必需的,不能为 NULL

返回值

FltGetFilterInformation 返回STATUS_SUCCESS或适当的 NTSTATUS 值,例如以下值之一:

返回代码 说明
STATUS_BUFFER_TOO_SMALL
Buffer 参数指向的 缓冲区 不够大,无法存储请求的信息。 这是错误代码。
STATUS_INVALID_PARAMETER
InformationClass 参数指定了无效值。 例如,如果在 Windows Vista 之前的操作系统上指定 FilterAggregateStandardInformation ,则例程返回STATUS_INVALID_PARAMETER。 这是错误代码。

要求

要求
目标平台 通用
标头 fltkernel.h (包括 FltKernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

FILTER_AGGREGATE_BASIC_INFORMATION

FILTER_AGGREGATE_STANDARD_INFORMATION

FILTER_FULL_INFORMATION

FltEnumerateFilterInformation

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltGetInstanceInformation