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) |