FLT_PARAMETERS para la unión de IRP_MJ_PREPARE_MDL_WRITE
El siguiente componente de unión se usa cuando se IRP_MJ_PREPARE_MDL_WRITE el campo MajorFunction de la estructura FLT_IO_PARAMETER_BLOCK de la operación.
Sintaxis
typedef union _FLT_PARAMETERS {
... ;
struct {
LARGE_INTEGER FileOffset;
ULONG POINTER_ALIGNMENT Length;
ULONG POINTER_ALIGNMENT Key;
PMDL *MdlChain;
} PrepareMdlWrite;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Miembros
PrepareMdlWrite: estructura que contiene los siguientes miembros.
FileOffset: iniciando byte dentro del archivo almacenado en caché.
Longitud: longitud, en bytes, de los datos que se van a escribir en el archivo almacenado en caché.
Clave: valor de clave asociado a un bloqueo de intervalo de bytes en el archivo de destino. Si el intervalo que se va a escribir se superpone o es un subrango de un intervalo bloqueado exclusivamente dentro del archivo, este parámetro debe ser la clave para ese bloqueo exclusivo. El bloqueo exclusivo debe ser mantenido por el proceso primario del subproceso que realiza la llamada; de lo contrario, se omite este parámetro.
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.
Comentarios
La estructura FLT_PARAMETERS para las operaciones de IRP_MJ_PREPARE_MDL_WRITE contiene los parámetros de una operación de preparación de E/S rápida representada por una estructura de datos de devolución de llamada (FLT_CALLBACK_DATA). Se encuentra en una estructura FLT_IO_PARAMETER_BLOCK.
Si se produce un error en una solicitud de E/S rápida IRP_MJ_PREPARE_MDL_WRITE, el emisor de la E/S determina cómo volver a emitir la solicitud. Es posible que un minifiltro no siempre obtenga un IRP_MJ_MDL_WRITE basado en IRP. Por ejemplo, la solicitud IRP se podría volver a emitir como IRP_MJ_WRITE/IRP_MN_MDL.
IRP_MJ_PREPARE_MDL_WRITE es una operación de E/S rápida.
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Fltkernel.h (incluya Fltkernel.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de