Share via


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

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS