Partager via


FLT_PARAMETERS pour l’union IRP_MJ_QUERY_EA

Le composant Union utilisé lorsque le champ MajorFunction de la structure FLT_IO_PARAMETER_BLOCK de l’opération est IRP_MJ_QUERY_EA.

Syntaxe

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                    Length;
    PVOID                    EaList;
    ULONG                    EaListLength;
    ULONG  POINTER_ALIGNMENT EaIndex;
    PVOID                    EaBuffer;
    PMDL                     MdlAddress;
  } QueryEa;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Membres

  • QueryEa : Structure dans FLT_PARAMETERS union contenant les membres suivants.

  • Longueur : longueur, en octets, de la mémoire tampon vers laquelle EaBuffer pointe.

  • EaList : pointeur vers une mémoire tampon d’entrée structurée FILE_GET_EA_INFORMATION fournie par l’appelant spécifiant les attributs étendus à interroger.

  • EaListLength : Longueur, en octets, de la mémoire tampon vers laquelle EaList pointe.

  • EaIndex : Index de l’entrée à laquelle commencer l’analyse de la liste d’attributs étendus. Ce paramètre est ignoré si l’indicateur de SL_INDEX_SPECIFIED n’est pas défini dans la structure FLT_IO_PARAMETER_BLOCK de l’opération ou si EaList pointe vers une liste vide.

  • EaBuffer : pointeur vers une mémoire tampon de sortie structurée FILE_FULL_EA_INFORMATION fournie par l’appelant, où les valeurs d’attribut étendues doivent être retournées. Ce membre est facultatif et peut être NULL si un MDL est fourni dans MdlAddress. Voir les remarques.

  • MdlAddress : Adresse d’une liste de descripteurs de mémoire (MDL) décrivant la mémoire tampon vers laquelle EaBuffer pointe. Ce membre est facultatif et peut être NULL si une mémoire tampon est fournie dans EaBuffer. Voir les remarques.

Remarques

La structure FLT_PARAMETERS pour les opérations de IRP_MJ_QUERY_EA contient les paramètres d’une opération d’informations étendues d’attributs étendus basée sur IRP représentée par une structure de données de rappel (FLT_CALLBACK_DATA). Elle est contenue dans une structure FLT_IO_PARAMETER_BLOCK.

Si une mémoire tampon EaBuffer et MdlAddress est fournie, il est recommandé que les mini-filtres utilisent le MDL. Mémoire à laquelle EaBuffer pointe est valide lorsqu’il s’agit d’une adresse en mode utilisateur accessible dans le contexte du processus appelant ou s’il s’agit d’une adresse en mode noyau.

Si un mini-filtre modifie la valeur de MdlAddress, après son rappel post-opération, Filter Manager libère le MDL actuellement stocké dans MdlAddress et restaure la valeur précédente de MdlAddress.

IRP_MJ_QUERY_EA est une opération basée sur IRP.

Spécifications

Type de condition requise Besoin
En-tête de page Fltkernel.h (include Fltkernel.h)

Voir aussi

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckEaBufferValidity

IRP_MJ_QUERY_EA