IRP_MJ_SET_EA (controladores de filtro y FS)

Cuándo se envió

El Administrador de E/S envía la solicitud de IRP_MJ_SET_EA para establecer los atributos extendidos de un archivo.

Operación: controladores del sistema de archivos

Si el sistema de archivos admite atributos extendidos, el controlador del sistema de archivos debe procesar la solicitud y completar el IRP. De lo contrario, el controlador del sistema de archivos debe devolver STATUS_EAS_NOT_SUPPORTED.

Operación: controladores de filtro del sistema de archivos heredados

El controlador de filtro debe pasar este IRP al siguiente controlador inferior de la pila.

Parámetros

Un controlador de filtro o sistema de archivos llama a IoGetCurrentIrpStackLocation para que el IRP determinado obtenga un puntero a su propia ubicación de pila en el IRP. En los parámetros siguientes, Irp apunta al IRP e IrpSp apunta al IO_STACK_LOCATION. El controlador puede usar la información establecida en los siguientes miembros del IRP y la ubicación de la pila irP para procesar una solicitud de atributos extendidos establecida:

  • DeviceObject es un puntero al objeto de dispositivo de destino.

  • Irp->AssociatedIrp.SystemBuffer apunta a un búfer de entrada proporcionado por el sistema que contiene la información de atributo extendida que se va a establecer. Se usa para METHOD_BUFFERED E/S.

  • Irp->IoStatus apunta a una estructura de IO_STATUS_BLOCK que recibe el estado de finalización final e información sobre la operación solicitada.

  • Irp->MdlAddress es la dirección de una lista de descriptores de memoria (MDL) que describe un búfer de entrada que recibe la información del atributo extendido. Se usa para METHOD_DIRECT E/S.

  • Irp->UserBuffer apunta a un búfer de entrada estructurado FILE_FULL_EA_INFORMATION proporcionado por el autor de la llamada que recibe la información de atributo extendida. Se usa para METHOD_NEITHER E/S.

  • IrpSp->FileObject apunta al objeto de archivo asociado a DeviceObject.

    El parámetro IrpSp-FileObject> contiene un puntero al campo RelatedFileObject, que también es una estructura de FILE_OBJECT. El campo RelatedFileObject de la estructura FILE_OBJECT no es válido durante el procesamiento de IRP_MJ_SET_EA y no se debe usar.

  • IrpSp->MajorFunction se establece en IRP_MJ_SET_EA.

  • IrpSp->Parameters.SetEa.Length es la longitud en bytes del búfer de entrada.

Consulte también

FILE_FULL_EA_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoCheckEaBufferValidity

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_EA