structure INSTANCE_AGGREGATE_STANDARD_INFORMATION (fltuserstructures.h)
La structure INSTANCE_AGGREGATE_STANDARD_INFORMATION allouée par l’appelant contient des informations standard agrégées sur une instance de pilote minifilter 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 de 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 minifilter. Ce membre doit contenir l’un des indicateurs suivants.
Drapeau | Signification |
---|---|
FLTFL_IASI_IS_MINIFILTER | Le pilote de filtre est un pilote minifilter ; 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 des indicateurs qui décrivent les attributs de l’instance minifilter. Voici les valeurs d’indicateur valides.
Drapeau | Signification |
---|---|
FLTFL_IASIM_DETACHED_VOLUME | Le volume n’est pas actuellement attaché à une pile de stockage. |
Type.MiniFilter.FrameID
Index de base zéro utilisé pour identifier le cadre du gestionnaire de filtres dans lequel se trouve l’instance minifilter.
Type.MiniFilter.VolumeFileSystemType
Identifie le type de système de fichiers auquel l’instance minifilter est attachée. Les valeurs possibles pour ce membre sont répertoriées dans FLT_FILESYSTEM_TYPE.
Type.MiniFilter.InstanceNameLength
Longueur, en octets, du nom de l’instance minifilter.
Type.MiniFilter.InstanceNameBufferOffset
Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne de nom d’instance du minifilter Unicode. Cette chaîne n’est pas terminée par NULL.
Type.MiniFilter.AltitudeLength
Longueur, en octets, de la chaîne d’altitude de l’instance minifilter.
Type.MiniFilter.AltitudeBufferOffset
Décalage d’octet (par rapport au début de la structure) du premier caractère de la chaîne d’altitude de l’instance minifilter Unicode. Cette chaîne n’est pas terminée par NULL.
Type.MiniFilter.VolumeNameLength
Longueur, en octets, du nom du volume du volume auquel l’instance minifilter est attachée.
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 l’instance de minifilter est attachée. Cette chaîne n’est pas terminée par NULL.
Type.MiniFilter.FilterNameLength
Longueur, en octets, du nom minifilter du minifilter à partir duquel l’instance de minifilter a été dérivée.
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 minifilter Unicode pour le minifilter à partir duquel l’instance de minifilter a été dérivée. 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 les SupportedFeatures d’un minifilter valeur de Registre. Les fonctionnalités prises en charge sont une combinaison OR au niveau du bit des indicateurs suivants.
Type.LegacyFilter
Variable de structure imbriquée avec les membres suivants.
Type.LegacyFilter.Flags
Masque de bits des indicateurs qui décrivent les attributs du filtre hérité. Voici les valeurs d’indicateur valides.
Drapeau | Signification |
---|---|
FLTFL_IASIL_DETACHED_VOLUME | Le volume n’est pas actuellement 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 de filtre hérité Unicode. Cette chaîne n’est pas terminée par NULL.
À compter de Windows Vista, les altitudes sont affectées aux pilotes de filtre hérités en fonction du groupe d’ordre de chargement du pilote. Cela garantit que les pilotes minifilter se couchent correctement au-dessus et en dessous des pilotes de filtre hérités même si un ou plusieurs des pilotes de filtre sont chargés hors commande.
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 :
- FilterInstanceFindFirst
- FilterInstanceFindNext
- FilterInstanceGetInformation
- FilterVolumeInstanceFindFirst
- FilterVolumeInstanceFindNext
- FltEnumerateInstanceInformationByFilter
- FltEnumerateInstanceInformationByVolume
- FltGetInstanceInformation
La structure INSTANCE_AGGREGATE_STANDARD_INFORMATION doit être alignée sur une limite LONGLONG (8 octets). Si une mémoire tampon contient deux ou plusieurs de ces structures, la valeur NextEntryOffset dans chaque entrée se situe sur une limite de 8 octets.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
d’en-tête | fltuserstructures.h (include FltUser.h, FltKernel.h) |
Voir aussi
FltEnumerateInstanceInformationByFilter