IRP_MJ_SET_EA (fs e driver di filtro)

Data di invio

Gestione I/O invia la richiesta di IRP_MJ_SET_EA per impostare gli attributi estesi di un file.

Operazione: Driver di file system

Se il file system supporta attributi estesi, il driver del file system deve elaborare la richiesta e completare l'IRP. In caso contrario, il driver del file system deve restituire STATUS_EAS_NOT_SUPPORTED.

Operazione: Driver di filtro del file system legacy

Il driver di filtro deve passare questo IRP fino al driver inferiore successivo nello stack.

Parametri

Un file system o un driver di filtro chiama IoGetCurrentIrpStackLocation per l'IRP specificato per ottenere un puntatore alla propria posizione dello stack in IRP. Nei parametri seguenti, Irp punta a IRP e IrpSp punta al IO_STACK_LOCATION. Il driver può usare le informazioni impostate nei membri seguenti dell'IRP e del percorso dello stack IRP per elaborare una richiesta di attributi estesi impostata:

  • DeviceObject è un puntatore all'oggetto dispositivo di destinazione.

  • Irp->AssociateIrp.SystemBuffer punta a un buffer di input fornito dal sistema che contiene le informazioni sull'attributo esteso da impostare. Usato per METHOD_BUFFERED I/O.

  • Irp->IoStatus punta a una struttura IO_STATUS_BLOCK che riceve lo stato di completamento finale e le informazioni sull'operazione richiesta.

  • Irp->MdlAddress è l'indirizzo di un elenco di descrittori di memoria (MDL) che descrive un buffer di input che riceve le informazioni sull'attributo esteso. Usato per METHOD_DIRECT I/O.

  • Irp->UserBuffer punta a un chiamante fornito FILE_FULL_EA_INFORMATION buffer di input strutturato che riceve le informazioni sull'attributo esteso. Usato per METHOD_NEITHER I/O.

  • IrpSp->FileObject punta all'oggetto file associato a DeviceObject.

    Il parametro IrpSp-FileObject> contiene un puntatore al campo RelatedFileObject, che è anche una struttura FILE_OBJECT. Il campo RelatedFileObject della struttura FILE_OBJECT non è valido durante l'elaborazione di IRP_MJ_SET_EA e non deve essere usato.

  • IrpSp->MajorFunction è impostato su IRP_MJ_SET_EA.

  • IrpSp->Parameters.SetEa.Length è la lunghezza in byte del buffer di input.

Vedi anche

FILE_FULL_EA_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoCheckEaBuffer Validità

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_EA