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