Partager via


FLT_PARAMETERS pour l’union IRP_MJ_MDL_WRITE_COMPLETE

Le membre d’union FLT_PARAMETERS suivant est utilisé lorsque FLT_IO_PARAMETER_BLOCK.MajorFunction est IRP_MJ_MDL_WRITE_COMPLETE.

Syntaxe

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    LARGE_INTEGER FileOffset;
    PMDL          MdlChain;
  } MdlWriteComplete;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Membres

  • MdlWriteComplete : Structure contenant les membres suivants.

  • FileOffset : Octet de départ dans le fichier mis en cache.

  • 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 qui devaient être écrites dans le fichier mis en cache.

Notes

IRP_MJ_MDL_WRITE_COMPLETE est une opération d’E/S rapide. Elle fait la même chose que IRP_MJ_WRITE + IRP_MN_COMPLETE_MDL, à l’exception de la différence suivante :

  • L’opération basée sur IRP configure la mise en cache sur le fichier si celui-ci n’est pas déjà mis en cache avant de faire le travail MDL.
  • L’opération Fast IO (opération d'E/S rapide ) échoue si le fichier n’est pas déjà mis en cache.

La structure FLT_PARAMETERS pour les opérations IRP_MJ_MDL_WRITE_COMPLETE contient les paramètres pour une opération rapide d’E/S MdlWriteComplete. Cette opération est représentée par une structure de données de rappel (FLT_CALLBACK_DATA), avec les paramètres de l’opération dans la structure FLT_IO_PARAMETER_BLOCK à laquelle Iopb pointe.

Si une demande rapide d’E/S IRP_MJ_MDL_WRITE_COMPLETE échoue, l’émetteur de l’E/S détermine comment réémettre la demande. Par exemple, la requête peut être rééditée en tant qu’opération basée sur IRP à l’aide de IRP_MJ_WRITE + IRP_MN_COMPLETE_MDL.

Spécifications

Type de condition requise Exigence
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