FLT_PARAMETERS pour IRP_MJ_READ union
Le composant union suivant est utilisé lorsque le champ MajorFunction de la structure FLT_IO_PARAMETER_BLOCK de l’opération est IRP_MJ_READ.
Syntaxe
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
ULONG POINTER_ALIGNMENT Key;
LARGE_INTEGER ByteOffset;
PVOID ReadBuffer;
PMDL MdlAddress;
} Read;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Membres
Lecture : structure contenant les membres suivants.
Longueur : longueur, en octets, des données à lire.
Clé : valeur de clé associée à un verrou de plage d’octets sur le fichier cible.
ByteOffset : décalage d’octets de départ dans le fichier des données à lire.
ReadBuffer : pointeur vers une mémoire tampon qui reçoit les données lues à partir du fichier. Ce membre est facultatif et peut être NULL si une MDL est fournie dans MdlAddress. Consultez Remarques.
MdlAddress : adresse d’une liste de descripteurs mémoire (MDL) qui décrit la mémoire tampon vers laquelle pointe le membre ReadBuffer . Ce membre est facultatif et peut être NULL si une mémoire tampon est fournie dans ReadBuffer. Consultez Remarques.
Remarques
La structure FLT_PARAMETERS pour les opérations IRP_MJ_READ contient les paramètres d’une opération de lecture 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 ReadBuffer et Une mémoire tampon MdlAddress sont fournies, il est recommandé que les mini-filtres utilisent la MDL. La mémoire vers laquelle ReadBuffer pointe 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 après l’opération, le Gestionnaire de filtres libère la MDL actuellement stockée dans MdlAddress et restaure la valeur précédente de MdlAddress.
IRP_MJ_READ peut être une opération basée sur IRP ou une opération d’E/S rapide.
Configuration requise
Type d’exigence | Condition requise |
---|---|
En-tête | Fltkernel.h ( incluez Fltkernel.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour