Share via


FLT_PARAMETERS para IRP_MJ_WRITE unión

El siguiente componente de unión se usa cuando se IRP_MJ_WRITE el campo MajorFunction de la estructura FLT_IO_PARAMETER_BLOCK de la operación.

Sintaxis

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG         Length;
    ULONG         Key;
    LARGE_INTEGER ByteOffset;
    PVOID         WriteBuffer;
    PMDL          MdlAddress;
  } Write;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Miembros

  • Escritura: estructura que contiene los miembros siguientes.

  • Longitud: longitud, en bytes, de los datos que se van a escribir.

  • Clave: valor de clave asociado a un bloqueo de intervalo de bytes en el archivo de destino.

  • ByteOffset: desplazamiento de bytes inicial dentro del archivo de los datos que se van a escribir.

  • WriteBuffer: puntero a un búfer que contiene los datos que se van a escribir en el archivo. Este miembro es opcional y puede ser NULL si se proporciona una MDL en MdlAddress. Vea Comentarios.

  • MdlAddress: dirección de una lista de descriptores de memoria (MDL) que describe el búfer al que apunta el miembro WriteBuffer . Este miembro es opcional y puede ser NULL si se proporciona un búfer en WriteBuffer. Vea Comentarios.

Comentarios

La estructura FLT_PARAMETERS para las operaciones de IRP_MJ_WRITE contiene los parámetros de una operación de escritura 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 proporciona un búfer WriteBuffer y MdlAddress , se recomienda que los minifiltros usen mdl. La memoria a la que WriteBuffer apunta es válida cuando se accede a una dirección de modo de usuario dentro del contexto del proceso de llamada o si es una dirección del modo kernel.

Si un minifiltro cambia el valor de MdlAddress, después de su devolución de llamada posterior a la operación, el Administrador de filtros liberará el MDL almacenado actualmente en MdlAddress y restaurará el valor anterior de MdlAddress.

IRP_MJ_WRITE puede ser una operación basada en IRP o 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

FltWriteFile

IRP_MJ_WRITE

ZwWriteFile