FLT_PARAMETERS pour IRP_MJ_PREPARE_MDL_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_PREPARE_MDL_WRITE.

Syntaxe

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    LARGE_INTEGER           FileOffset;
    ULONG POINTER_ALIGNMENT Length;
    ULONG POINTER_ALIGNMENT Key;
    PMDL                    *MdlChain;
  } PrepareMdlWrite;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Membres

  • PrepareMdlWrite : structure contenant les membres suivants.

  • FileOffset : octet de démarrage dans le fichier mis en cache.

  • Longueur : longueur, en octets, des données à écrire dans le fichier mis en cache.

  • Clé : valeur de clé associée à un verrou de plage d’octets sur le fichier cible. Si la plage à écrire chevauche ou est une sous-plage d’une plage exclusivement verrouillée dans le fichier, ce paramètre doit être la clé de ce verrou exclusif.. Le verrou exclusif doit être conservé par le processus parent du thread appelant ; sinon, ce paramètre est ignoré.

  • MdlChain : pointeur vers une variable qui reçoit un pointeur vers une chaîne d’une ou plusieurs listes de descripteurs de mémoire (MDL) qui décrivent les pages contenant les données à écrire.

Remarques

La structure FLT_PARAMETERS pour les opérations IRP_MJ_PREPARE_MDL_WRITE contient les paramètres d’une opération d’E/S PrepareMdlWrite rapide 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 demande d’E/S rapide IRP_MJ_PREPARE_MDL_WRITE échoue, l’émetteur de l’E/S détermine comment rééditer la demande. Un minifiltre peut ne pas toujours obtenir un IRP_MJ_MDL_WRITE basé sur IRP. Pour instance, la demande IRP peut être rééditée en tant que IRP_MJ_WRITE/IRP_MN_MDL.

IRP_MJ_PREPARE_MDL_WRITE est une opération d’E/S rapide.

Configuration requise

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