IRP_MJ_SET_EA (FS dan driver filter)

Ketika Dikirim

Manajer I/O mengirimkan permintaan IRP_MJ_SET_EA untuk mengatur atribut file yang diperluas.

Operasi: Driver Sistem File

Jika sistem file mendukung atribut yang diperluas, driver sistem file harus memproses permintaan dan menyelesaikan IRP. Jika tidak, driver sistem file harus mengembalikan STATUS_EAS_NOT_SUPPORTED.

Operasi: Driver Filter Sistem File Warisan

Driver filter harus meneruskan IRP ini ke driver berikutnya yang lebih rendah pada tumpukan.

Parameter

Sistem file atau driver filter memanggil IoGetCurrentIrpStackLocation untuk IRP yang diberikan untuk mendapatkan penunjuk ke lokasi tumpukannya sendiri di IRP. Dalam parameter berikut, Irp menunjuk ke IRP dan IrpSp menunjuk ke IO_STACK_LOCATION. Driver dapat menggunakan informasi yang diatur dalam anggota IRP berikut dan lokasi tumpukan IRP untuk memproses permintaan atribut yang diperluas yang ditetapkan:

  • DeviceObject adalah penunjuk ke objek perangkat target.

  • Irp->AssociatedIrp.SystemBuffer menunjuk ke buffer input yang disediakan sistem yang berisi informasi atribut yang diperluas untuk diatur. Digunakan untuk I/O METHOD_BUFFERED.

  • Irp->IoStatus menunjuk ke struktur IO_STATUS_BLOCK yang menerima status penyelesaian akhir dan informasi tentang operasi yang diminta.

  • Irp->MdlAddress adalah alamat daftar deskriptor memori (MDL) yang menjelaskan buffer input yang menerima informasi atribut yang diperluas. Digunakan untuk I/O METHOD_DIRECT.

  • Irp->UserBuffer menunjuk ke buffer input yang disediakan pemanggil FILE_FULL_EA_INFORMATION terstruktur yang menerima informasi atribut yang diperluas. Digunakan untuk I/O METHOD_NEITHER.

  • IrpSp->FileObject menunjuk ke objek file yang terkait dengan DeviceObject.

    Parameter IrpSp-FileObject> berisi penunjuk ke bidang RelatedFileObject, yang juga merupakan struktur FILE_OBJECT. Bidang RelatedFileObject dari struktur FILE_OBJECT tidak valid selama pemrosesan IRP_MJ_SET_EA dan tidak boleh digunakan.

  • IrpSp->MajorFunction diatur ke IRP_MJ_SET_EA.

  • IrpSp->Parameters.SetEa.Length adalah panjang dalam byte buffer input.

Lihat juga

FILE_FULL_EA_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoCheckEaBufferValidity

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_EA