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) |