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

字节偏移量 (相对于从中派生微筛选器实例的微筛选器的 Unicode 微筛选器名称字符串的第一个字符的结构) 的开头。 此字符串不是以 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 (包括 FltUser.h、FltKernel.h)

另请参阅

FilterInstanceFindFirst

FilterInstanceFindNext

FilterInstanceGetInformation

FilterVolumeInstanceFindFirst

FilterVolumeInstanceFindNext

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltGetInstanceInformation

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION