Partager via


FLT_PARAMETERS pour IRP_MJ_QUERY_EA union

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 Pointe EaBuffer .

  • 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 SL_INDEX_SPECIFIED n’est pas défini dans la structure de FLT_IO_PARAMETER_BLOCK de l’opération ou si EaList pointe vers une liste sans valeur.

  • 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 une MDL est fournie dans MdlAddress. Consultez Remarques.

  • MdlAddress : adresse d’une liste de descripteurs de mémoire (MDL) décrivant la mémoire tampon vers laquelle Pointe EaBuffer . Ce membre est facultatif et peut avoir la valeur NULL si une mémoire tampon est fournie dans EaBuffer. Consultez 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 sur les attributs étendus de requête basée sur IRP représentée par une structure de données de rappel (FLT_CALLBACK_DATA). Il est contenu dans une structure FLT_IO_PARAMETER_BLOCK.

Si une mémoire tampon EaBuffer et MdlAddress est fournie, il est recommandé que les minifiltres utilisent le MDL. La mémoire vers laquelle Pointe EaBuffer est valide lorsqu’il s’agit d’une adresse en mode utilisateur accessible dans le contexte du processus d’appel, ou s’il s’agit d’une adresse en mode noyau.

Si un minifiltre 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.

Configuration requise

Type d’exigence Condition requise
En-tête Fltkernel.h (inclure 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