FLT_PARAMETERS pour IRP_MJ_WRITE 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_WRITE.

Syntaxe

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG         Length;
    ULONG         Key;
    LARGE_INTEGER ByteOffset;
    PVOID         WriteBuffer;
    PMDL          MdlAddress;
  } Write;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Membres

  • Write : structure contenant les membres suivants.

  • Longueur : longueur, en octets, des données à écrire.

  • 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 à écrire.

  • WriteBuffer : pointeur vers une mémoire tampon qui contient les données à écrire dans le 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 WriteBuffer . Ce membre est facultatif et peut être NULL si une mémoire tampon est fournie dans WriteBuffer. Consultez Remarques.

Remarques

La structure FLT_PARAMETERS pour les opérations IRP_MJ_WRITE contient les paramètres d’une opération d’écriture 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 WriteBuffer et Une mémoire tampon MdlAddress sont fournies, il est recommandé que les minifiltres utilisent la MDL. La mémoire vers laquelle WriteBuffer 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_WRITE 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

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FltWriteFile

IRP_MJ_WRITE

ZwWriteFile