Unión FLT_PARAMETERS para IRP_MJ_MDL_WRITE_COMPLETE
El siguiente miembro de unión FLT_PARAMETERS se usa cuando FLT_IO_PARAMETER_BLOCK.MajorFunction es IRP_MJ_MDL_WRITE_COMPLETE.
Sintaxis
typedef union _FLT_PARAMETERS {
... ;
struct {
LARGE_INTEGER FileOffset;
PMDL MdlChain;
} MdlWriteComplete;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Miembros
MdlWriteComplete: estructura que incluye los siguientes miembros.
FileOffset: byte inicial dentro del archivo almacenado en caché.
MdlChain: puntero a una variable que recibe un puntero a una cadena de una o varias listas de descriptores de memoria (MDL) que describen las páginas que contienen los datos que se van a escribir en el archivo almacenado en caché.
Comentarios
IRP_MJ_MDL_WRITE_COMPLETE es una operación de E/S rápida. Hace lo mismo que IRP_MJ_WRITE + IRP_MN_COMPLETE_MDL excepto por la siguiente diferencia:
- La operación basada en IRP configura el almacenamiento en caché en el archivo si aún no está almacenado en caché antes de realizar el trabajo de MDL.
- Se produce un error en la operación de E/S rápida si el archivo aún no está almacenado en caché.
La estructura FLT_PARAMETERS para las operaciones de IRP_MJ_MDL_WRITE_COMPLETE contiene los parámetros de una operación MdlWriteComplete de E/S rápida. Esta operación se representa mediante una estructura de datos de devolución de llamada (FLT_CALLBACK_DATA), con los parámetros de la operación en la estructura FLT_IO_PARAMETER_BLOCK a la que apunta Iopb.
Si se produce un error en una solicitud IRP_MJ_MDL_WRITE_COMPLETE de E/S rápida, el emisor de la E/S determina cómo volver a emitir la solicitud. Por ejemplo, la solicitud se podría volver a emitir como una operación basada en IRP mediante IRP_MJ_WRITE + IRP_MN_COMPLETE_MDL.
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Fltkernel.h (incluya Fltkernel.h) |