INSTANCE_AGGREGATE_STANDARD_INFORMATION结构(fltuserstructures.h)

调用方分配 INSTANCE_AGGREGATE_STANDARD_INFORMATION 结构包含有关微型筛选器驱动程序实例或旧筛选器驱动程序的聚合标准信息。

语法

typedef struct _INSTANCE_AGGREGATE_STANDARD_INFORMATION {
  ULONG NextEntryOffset;
  ULONG Flags;
  union {
    struct {
      ULONG               Flags;
      ULONG               FrameID;
      FLT_FILESYSTEM_TYPE VolumeFileSystemType;
      USHORT              InstanceNameLength;
      USHORT              InstanceNameBufferOffset;
      USHORT              AltitudeLength;
      USHORT              AltitudeBufferOffset;
      USHORT              VolumeNameLength;
      USHORT              VolumeNameBufferOffset;
      USHORT              FilterNameLength;
      USHORT              FilterNameBufferOffset;
      ULONG               SupportedFeatures;
    } MiniFilter;
    struct {
      ULONG  Flags;
      USHORT AltitudeLength;
      USHORT AltitudeBufferOffset;
      USHORT VolumeNameLength;
      USHORT VolumeNameBufferOffset;
      USHORT FilterNameLength;
      USHORT FilterNameBufferOffset;
      ULONG  SupportedFeatures;
    } LegacyFilter;
  } Type;
} INSTANCE_AGGREGATE_STANDARD_INFORMATION, *PINSTANCE_AGGREGATE_STANDARD_INFORMATION;

成员

NextEntryOffset

如果缓冲区中存在多个结构,则下一个 INSTANCE_AGGREGATE_STANDARD_INFORMATION 结构的字节偏移量。 如果没有其他结构遵循此成员,则此成员为零。

Flags

指示筛选器驱动程序是旧筛选器驱动程序还是微型筛选器驱动程序。 此成员必须包含以下标志之一。

意义
FLTFL_IASI_IS_MINIFILTER 筛选器驱动程序是微型筛选器驱动程序;使用联合 MiniFilter 部分。
FLTFL_IASI_IS_LEGACYFILTER 筛选器驱动程序是旧版筛选器驱动程序;使用联合 LegacyFilter 部分。

Type

具有以下成员的嵌套结构变量。

Type.MiniFilter

Type.MiniFilter.Flags

描述微型筛选器实例属性的标志的位掩码。 以下是有效的标志值。

意义
FLTFL_IASIM_DETACHED_VOLUME 卷当前未附加到存储堆栈。

Type.MiniFilter.FrameID

从零开始的索引,用于标识微型筛选器实例位于的筛选器管理器帧。

Type.MiniFilter.VolumeFileSystemType

标识附加到微型筛选器实例的文件系统类型。 此成员的可能值列在 FLT_FILESYSTEM_TYPE中。

Type.MiniFilter.InstanceNameLength

微型筛选器实例名称的长度(以字节为单位)。

Type.MiniFilter.InstanceNameBufferOffset

Unicode 微型筛选器实例名称字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

Type.MiniFilter.AltitudeLength

微型筛选器实例高度字符串的长度(以字节为单位)。

Type.MiniFilter.AltitudeBufferOffset

Unicode 微型筛选器实例高度字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

Type.MiniFilter.VolumeNameLength

迷你筛选器实例附加到的卷的卷名称的长度(以字节为单位)。

Type.MiniFilter.VolumeNameBufferOffset

小筛选器实例附加到的卷的 Unicode 卷名称字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

Type.MiniFilter.FilterNameLength

从中派生微型筛选器实例的微型筛选器名称的长度(以字节为单位)。

Type.MiniFilter.FilterNameBufferOffset

从中派生微型筛选器实例的微筛选器名称字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

Type.MiniFilter.SupportedFeatures

筛选器支持的功能标志,由微筛选器的 SupportedFeatures 注册表值指定。 支持的功能是以下标志的按位 OR 组合。

价值 意义
SUPPORTED_FS_FEATURES_OFFLOAD_READ(0x01) 卷支持卸载的读取作。
SUPPORTED_FS_FEATURES_OFFLOAD_WRITE(0x02) 卷支持卸载的写入作。
SUPPORTED_FS_FEATURES_QUERY_OPEN(0x04) 卷支持查询打开作。
SUPPORTED_FS_FEATURES_BYPASS_IO(0x08) 该卷支持 BypassIO。 从 Windows 11 开始,此标志可用。

Type.LegacyFilter

具有以下成员的嵌套结构变量。

Type.LegacyFilter.Flags

描述旧筛选器属性的标志的位掩码。 以下是有效的标志值。

意义
FLTFL_IASIL_DETACHED_VOLUME 卷当前未附加到存储堆栈。

Type.LegacyFilter.AltitudeLength

旧筛选器高度字符串的长度(以字节为单位)。

Type.LegacyFilter.AltitudeBufferOffset

Unicode 旧筛选器高度字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

从 Windows Vista 开始,高度会根据驱动程序的负载顺序组分配给旧筛选器驱动程序。 这可确保微型筛选器驱动程序在旧筛选器驱动程序的上方和下方正确分层,即使一个或多个筛选器驱动程序已按顺序加载。

Type.LegacyFilter.VolumeNameLength

旧筛选器附加到的卷的卷名称的长度(以字节为单位)。

Type.LegacyFilter.VolumeNameBufferOffset

旧筛选器附加到的卷的 Unicode 卷名称字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

Type.LegacyFilter.FilterNameLength

旧筛选器名称的长度(以字节为单位)。

Type.LegacyFilter.FilterNameBufferOffset

Unicode 旧筛选器名称字符串的第一个字符的字节偏移量(相对于结构开头)。 此字符串不以 NULL 结尾。

Type.LegacyFilter.SupportedFeatures

旧筛选器支持的功能标志。

支持的功能是以下标志的按位 OR 组合。

价值 意义
SUPPORTED_FS_FEATURES_OFFLOAD_READ(0x01) 卷支持卸载的读取作。
SUPPORTED_FS_FEATURES_OFFLOAD_WRITE(0x02) 卷支持卸载的写入作。

言论

可以从分页池或非分页池分配 INSTANCE_AGGREGATE_STANDARD_INFORMATION 类型的结构。 此结构作为参数传递给例程,例如:

INSTANCE_AGGREGATE_STANDARD_INFORMATION结构必须在 LONGLONG(8 字节)边界上对齐。 如果缓冲区包含两个或多个这些结构,则每个条目中的 NextEntryOffset 值位于 8 字节边界上。

要求

要求 价值
最低支持的客户端 Windows Vista
标头 fltuserstructures.h (include FltUser.h, FltKernel.h)

另请参阅

FilterInstanceFindFirst

FilterInstanceFindNext

FilterInstanceGetInformation

FilterVolumeInstanceFindFirst

FilterVolumeInstanceFindNext

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltGetInstanceInformation

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION