FLT_PARAMETERS pour IRP_MJ_SET_EA union
Composant Union utilisé lorsque le champ MajorFunction de la structure FLT_IO_PARAMETER_BLOCK de l’opération est IRP_MJ_SET_EA.
Syntaxe
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
PVOID EaBuffer;
PMDL MdlAddress;
} SetEa;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Membres
SetEa : structure contenant les membres suivants.
Longueur : longueur, en octets, de la mémoire tampon vers laquelle Pointe EaBuffer .
EaBuffer : pointeur vers une mémoire tampon d’entrée structurée FILE_FULL_EA_INFORMATION fournie par l’appelant qui contient les valeurs d’attribut étendu (EA) à définir. 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_SET_EA contient les paramètres d’une opération set-extended-attributes-information-operation 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_SET_EA est une opération basée sur IRP.
Configuration requise
Type d’exigence | Condition requise |
---|---|
En-tête | Fltkernel.h (inclure Fltkernel.h) |