структура 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
Указывает, является ли драйвер фильтра устаревшим или драйвером минифильтра. Этот элемент должен содержать один из следующих флагов.
Flag | Значение |
---|---|
FLTFL_IASI_IS_MINIFILTER | Драйвер фильтра является драйвером минифильтра; использовать часть MiniFilter объединения. |
FLTFL_IASI_IS_LEGACYFILTER | Драйвер фильтра является устаревшим драйвером фильтра; использовать часть объединения LegacyFilter . |
Type
Вложенная переменная структуры со следующими элементами.
Type.MiniFilter
Type.MiniFilter.Flags
Битовая маска флагов, описывающая атрибуты экземпляра минифильтра. Ниже приведены допустимые значения флагов.
Flag | Значение |
---|---|
FLTFL_IASIM_DETACHED_VOLUME | В настоящее время том не подключен к стеку хранилища. |
Type.MiniFilter.FrameID
Отсчитываемый от нуля индекс, используемый для идентификации кадра диспетчера фильтров, в который находится экземпляр минифильтра.
Type.MiniFilter.VolumeFileSystemType
Определяет тип файловой системы, к которому подключен экземпляр минифильтра. Возможные значения для этого элемента перечислены в FLT_FILESYSTEM_TYPE.
Type.MiniFilter.InstanceNameLength
Длина имени экземпляра минифильтра в байтах.
Type.MiniFilter.InstanceNameBufferOffset
Смещение в байтах (относительно начала структуры) первого символа строки имени экземпляра мини-фильтра Юникода. Эта строка не заканчивается null.
Type.MiniFilter.AltitudeLength
Длина строки высоты экземпляра минифильтра в байтах.
Type.MiniFilter.AltitudeBufferOffset
Байтовое смещение (относительно начала структуры) первого символа строки высоты экземпляра минифильтра Юникода. Эта строка не заканчивается null.
Type.MiniFilter.VolumeNameLength
Длина (в байтах) имени тома, к которому подключен экземпляр минифильтра.
Type.MiniFilter.VolumeNameBufferOffset
Байтовое смещение (относительно начала структуры) первого символа строки имени тома Юникода для тома, к которому присоединен экземпляр минифильтра. Эта строка не заканчивается null.
Type.MiniFilter.FilterNameLength
Длина (в байтах) имени минифильтра минифильтра, от которого был получен экземпляр минифильтра.
Type.MiniFilter.FilterNameBufferOffset
Байтовое смещение (относительно начала структуры) первого символа строки имени минифильтра Юникода для минифильтра, на основе которого был получен экземпляр минифильтра. Эта строка не заканчивается null.
Type.MiniFilter.SupportedFeatures
Флаги поддерживаемых функций для фильтра, указанные в значении реестра SupportedFeatures мини-фильтра. Поддерживаемые функции представляют собой побитовое или сочетание следующих флагов.
Значение | Значение |
---|---|
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
Битовая маска флагов, описывающих атрибуты устаревшего фильтра. Ниже приведены допустимые значения флагов.
Flag | Значение |
---|---|
FLTFL_IASIL_DETACHED_VOLUME | В настоящее время том не подключен к стеку хранилища. |
Type.LegacyFilter.AltitudeLength
Длина строки высоты устаревшего фильтра в байтах.
Type.LegacyFilter.AltitudeBufferOffset
Байтовое смещение (относительно начала структуры) первого символа строки высоты устаревшего фильтра Юникода. Эта строка не заканчивается null.
Начиная с Windows Vista, высота над уровнем моря назначается устаревшим драйверам фильтров на основе группы порядка загрузки драйвера. Это гарантирует, что драйверы минифильтра будут правильно наложены выше и ниже устаревших драйверов фильтров, даже если один или несколько драйверов фильтров загружены не в порядке.
Type.LegacyFilter.VolumeNameLength
Длина (в байтах) имени тома, к которому подключен устаревший фильтр.
Type.LegacyFilter.VolumeNameBufferOffset
Байтовое смещение (относительно начала структуры) первого символа строки имени тома Юникода для тома, к которому присоединен устаревший фильтр. Эта строка не заканчивается null.
Type.LegacyFilter.FilterNameLength
Длина в байтах имени устаревшего фильтра.
Type.LegacyFilter.FilterNameBufferOffset
Байтовое смещение (относительно начала структуры) первого символа строки имени устаревшего фильтра Юникода. Эта строка не заканчивается null.
Type.LegacyFilter.SupportedFeatures
Флаги поддерживаемых функций для устаревшего фильтра.
Поддерживаемые функции представляют собой побитовое или сочетание следующих флагов.
Значение | Значение |
---|---|
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