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 类型的结构。 此结构作为参数传递给例程,例如:
- FilterInstanceFindFirst
- FilterInstanceFindNext
- FilterInstanceGetInformation
- FilterVolumeInstanceFindFirst
- FilterVolumeInstanceFindNext
- FltEnumerateInstanceInformationByFilter
- FltEnumerateInstanceInformationByVolume
- FltGetInstanceInformation
INSTANCE_AGGREGATE_STANDARD_INFORMATION结构必须在 LONGLONG(8 字节)边界上对齐。 如果缓冲区包含两个或多个这些结构,则每个条目中的 NextEntryOffset 值位于 8 字节边界上。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | fltuserstructures.h (include FltUser.h, FltKernel.h) |
另请参阅
FltEnumerateInstanceInformationByFilter