Partager via


structure INSTANCE_AGGREGATE_STANDARD_INFORMATION (fltuserstructures.h)

La structure de INSTANCE_AGGREGATE_STANDARD_INFORMATION allouée à l’appelant contient des informations standard agrégées sur un pilote minifiltre instance ou un pilote de filtre hérité.

Syntaxe

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;

Membres

NextEntryOffset

Décalage d’octet de la structure INSTANCE_AGGREGATE_STANDARD_INFORMATION suivante si plusieurs structures sont présentes dans une mémoire tampon. Ce membre est égal à zéro si aucune autre structure ne suit celle-ci.

Flags

Indique si le pilote de filtre est un pilote de filtre hérité ou un pilote de minifiltre. Ce membre doit contenir l’un des indicateurs suivants.

Indicateur Signification
FLTFL_IASI_IS_MINIFILTER Le pilote de filtre est un pilote de minifiltre ; utilisez la partie MiniFilter de l’union.
FLTFL_IASI_IS_LEGACYFILTER Le pilote de filtre est un pilote de filtre hérité ; utilisez la partie LegacyFilter de l’union.

Type

Variable de structure imbriquée avec les membres suivants.

Type.MiniFilter

Type.MiniFilter.Flags

Masque de bits d’indicateurs qui décrivent les attributs du minifiltre instance. Voici des valeurs d’indicateur valides.

Indicateur Signification
FLTFL_IASIM_DETACHED_VOLUME Le volume n’est actuellement pas attaché à une pile de stockage.

Type.MiniFilter.FrameID

Index de base zéro utilisé pour identifier l’image du gestionnaire de filtres dans laquelle se trouve le minifiltre instance.

Type.MiniFilter.VolumeFileSystemType

Identifie le type de système de fichiers auquel le minifiltre instance est attaché. Les valeurs possibles pour ce membre sont répertoriées dans FLT_FILESYSTEM_TYPE.

Type.MiniFilter.InstanceNameLength

Longueur, en octets, du nom du minifiltre instance.

Type.MiniFilter.InstanceNameBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère du minifiltre Unicode instance chaîne de nom. Cette chaîne n’est pas terminée par null.

Type.MiniFilter.AltitudeLength

Longueur, en octets, du minifiltre instance chaîne d’altitude.

Type.MiniFilter.AltitudeBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère du minifiltre Unicode instance chaîne d’altitude. Cette chaîne n’est pas terminée par null.

Type.MiniFilter.VolumeNameLength

Longueur, en octets, du nom du volume auquel le minifiltre instance est attaché.

Type.MiniFilter.VolumeNameBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne de nom de volume Unicode pour le volume auquel le minifiltre instance est attaché. Cette chaîne n’est pas terminée par null.

Type.MiniFilter.FilterNameLength

Longueur, en octets, du nom du minifiltre du minifiltre à partir duquel le minifiltre instance a été dérivé.

Type.MiniFilter.FilterNameBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne de nom du minifiltre Unicode pour le minifiltre à partir duquel le minifiltre instance a été dérivé. Cette chaîne n’est pas terminée par null.

Type.MiniFilter.SupportedFeatures

Indicateurs de fonctionnalité pris en charge pour le filtre, comme spécifié par la valeur du Registre SupportedFeatures d’un minifiltre. Les fonctionnalités prises en charge sont une combinaison OR au niveau du bit des indicateurs suivants.

Valeur Signification
SUPPORTED_FS_FEATURES_OFFLOAD_READ (0x01) Le volume prend en charge les opérations de lecture déchargées.
SUPPORTED_FS_FEATURES_OFFLOAD_WRITE (0x02) Le volume prend en charge les opérations d’écriture déchargées.
SUPPORTED_FS_FEATURES_QUERY_OPEN (0x04) Le volume prend en charge les opérations d’ouverture de requête.
SUPPORTED_FS_FEATURES_BYPASS_IO (0x08) Le volume prend en charge BypassIO. Cet indicateur est disponible à partir de Windows 11.

Type.LegacyFilter

Variable de structure imbriquée avec les membres suivants.

Type.LegacyFilter.Flags

Masque de bits d’indicateurs qui décrivent les attributs du filtre hérité. Voici des valeurs d’indicateur valides.

Indicateur Signification
FLTFL_IASIL_DETACHED_VOLUME Le volume n’est actuellement pas attaché à une pile de stockage.

Type.LegacyFilter.AltitudeLength

Longueur, en octets, de la chaîne d’altitude de filtre héritée.

Type.LegacyFilter.AltitudeBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne d’altitude du filtre unicode hérité. Cette chaîne n’est pas terminée par null.

À compter de Windows Vista, les altitudes sont attribuées aux pilotes de filtre hérités en fonction du groupe d’ordre de charge du pilote. Cela garantit que les pilotes de minifiltre seront correctement superposés et inférieurs aux pilotes de filtre hérités, même si un ou plusieurs des pilotes de filtre sont chargés dans le désordre.

Type.LegacyFilter.VolumeNameLength

Longueur, en octets, du nom du volume auquel le filtre hérité est attaché.

Type.LegacyFilter.VolumeNameBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne de nom de volume Unicode pour le volume auquel le filtre hérité est attaché. Cette chaîne n’est pas terminée par null.

Type.LegacyFilter.FilterNameLength

Longueur, en octets, du nom de filtre hérité.

Type.LegacyFilter.FilterNameBufferOffset

Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne de nom de filtre hérité Unicode. Cette chaîne n’est pas terminée par null.

Type.LegacyFilter.SupportedFeatures

Indicateurs de fonctionnalité pris en charge pour le filtre hérité.

Les fonctionnalités prises en charge sont une combinaison OR au niveau du bit des indicateurs suivants.

Valeur Signification
SUPPORTED_FS_FEATURES_OFFLOAD_READ (0x01) Le volume prend en charge les opérations de lecture déchargées.
SUPPORTED_FS_FEATURES_OFFLOAD_WRITE (0x02) Le volume prend en charge les opérations d’écriture déchargées.

Remarques

Une structure de type INSTANCE_AGGREGATE_STANDARD_INFORMATION peut être allouée à partir d’un pool paginé ou non paginé. Cette structure est passée en tant que paramètre à des routines telles que les suivantes :

La structure INSTANCE_AGGREGATE_STANDARD_INFORMATION doit être alignée sur une limite LONGLONG (8 octets). Si une mémoire tampon contient au moins deux de ces structures, la valeur NextEntryOffset dans chaque entrée se situe sur une limite de 8 octets.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
En-tête fltuserstructures.h (include FltUser.h, FltKernel.h)

Voir aussi

FilterInstanceFindFirst

FilterInstanceFindNext

FilterInstanceGetInformation

FilterVolumeInstanceFindFirst

FilterVolumeInstanceFindNext

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltGetInstanceInformation

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION