Expand Minimize

INSTANCE_AGGREGATE_STANDARD_INFORMATION structure

The caller-allocated INSTANCE_AGGREGATE_STANDARD_INFORMATION structure contains information for either a minifilter driver instance or a legacy filter driver.

Syntax


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;
#if FLT_MGR_WIN8
      ULONG               SupportedFeatures;
    } MiniFilter;
#endif 
    struct {
      ULONG  Flags;
      USHORT AltitudeLength;
      USHORT AltitudeBufferOffset;
      USHORT VolumeNameLength;
      USHORT VolumeNameBufferOffset;
      USHORT FilterNameLength;
      USHORT FilterNameBufferOffset;
#if FLT_MGR_WIN8
      ULONG  SupportedFeatures;
#endif 
    } LegacyFilter;
  } Type;
} INSTANCE_AGGREGATE_STANDARD_INFORMATION, *PINSTANCE_AGGREGATE_STANDARD_INFORMATION;

Members

NextEntryOffset

Byte offset of the next INSTANCE_AGGREGATE_STANDARD_INFORMATION structure if multiple structures are present in a buffer. This member is zero if no other structures follow this one.

Flags

Indicates whether the filter driver is a legacy filter driver or a minifilter driver. This member must contain one of the following flags.

FlagMeaning

FLTFL_IASI_IS_MINIFILTER

The filter driver is a minifilter driver - use the MiniFilter portion of the union.

FLTFL_IASI_IS_LEGACYFILTER

The filter driver is a legacy filter driver - use the LegacyFilter portion of the union.

 

Type
MiniFilter

Nested structure variable with the following members.

Flags

A bitmask of flags that describe attributes of the minifilter instance. The following are valid flag values.

FlagMeaning
FLTFL_IASIM_DETACHED_VOLUMEThe volume is not currently attached to a storage stack.

 

FrameID

Zero-based index used to identify the filter manager frame that the minifilter instance is in.

VolumeFileSystemType

Identifies the type of file system the minifilter instance is attached to. The possible values for this member are listed in FLT_FILESYSTEM_TYPE.

InstanceNameLength

Length, in bytes, of the minifilter instance name.

InstanceNameBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode minifilter instance name string. This string is not NULL-terminated.

AltitudeLength

Length, in bytes, of the minifilter instance altitude string.

AltitudeBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode minifilter instance altitude string. This string is not NULL-terminated.

VolumeNameLength

Length, in bytes, of the volume name of the volume that the minifilter instance is attached to.

VolumeNameBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode volume name string for the volume that the minifilter instance is attached to. This string is not NULL-terminated.

FilterNameLength

Length, in bytes, of the minifilter name of the minifilter from which the minifilter instance was derived.

FilterNameBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode minifilter name string for the minifilter from which the minifilter instance was derived. This string is not NULL-terminated.

SupportedFeatures

The supported feature flags for the filter.

The supported features are a bitwise OR combination of the following flags.

ValueMeaning
SUPPORTED_FS_FEATURES_OFFLOAD_READ
0x00000001

The volume supports offloaded read operations

SUPPORTED_FS_FEATURES_OFFLOAD_WRITE
0x00000002

The volume supports offloaded write operations

 

LegacyFilter

Nested structure variable with the following members.

Flags

A bitmask of flags that describe attributes of the legacy filter. The following are valid flag values.

FlagMeaning
FLTFL_IASIL_DETACHED_VOLUMEThe volume is not currently attached to a storage stack.

 

AltitudeLength

Length, in bytes, of the legacy filter altitude string.

AltitudeBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode legacy filter altitude string. This string is not NULL-terminated.

Starting with Windows Vista, altitudes are assigned to legacy filter drivers based on the driver's load order group. This ensures that minifilter drivers will layer properly above and below legacy filter drivers even if one or more of the filter drivers are loaded out-of-order.

VolumeNameLength

Length, in bytes, of the volume name of the volume that the legacy filter is attached to.

VolumeNameBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode volume name string for the volume that the legacy filter is attached to. This string is not NULL-terminated.

FilterNameLength

Length, in bytes, of the legacy filter name.

FilterNameBufferOffset

Byte offset (relative to the beginning of the structure) of the first character of the Unicode legacy filter name string. This string is not NULL-terminated.

SupportedFeatures

The supported feature flags for the filter.

The supported features are a bitwise OR combination of the following flags.

ValueMeaning
SUPPORTED_FS_FEATURES_OFFLOAD_READ
0x00000001

The volume supports offloaded read operations

SUPPORTED_FS_FEATURES_OFFLOAD_WRITE
0x00000002

The volume supports offloaded write operations

 

Remarks

A structure of type INSTANCE_AGGREGATE_STANDARD_INFORMATION can be allocated from paged or nonpaged pool. This structure is passed as a parameter to routines such as the following:

The INSTANCE_AGGREGATE_STANDARD_INFORMATION structure must be aligned on a LONGLONG (8-byte) boundary. If a buffer contains two or more of these structures, the NextEntryOffset value in each entry falls on an 8-byte boundary.

Requirements

Version

This structure is available starting with Windows Vista.

Header

Fltuserstructures.h (include FltUser.h or FltKernel.h)

See also

FilterInstanceFindFirst
FilterInstanceFindNext
FilterInstanceGetInformation
FilterVolumeInstanceFindFirst
FilterVolumeInstanceFindNext
FltEnumerateInstanceInformationByFilter
FltEnumerateInstanceInformationByVolume
FltGetInstanceInformation
INSTANCE_BASIC_INFORMATION
INSTANCE_FULL_INFORMATION
INSTANCE_PARTIAL_INFORMATION

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft