IRP_MJ_SET_SECURITY (FS dan driver filter)

Ketika Dikirim

Manajer I/O mengirimkan permintaan IRP_MJ_SET_SECURITY. Permintaan ini dapat dikirim, misalnya, ketika aplikasi mode pengguna telah memanggil fungsi Win32 seperti SetSecurityInfo.

Operasi: Driver Sistem File

Driver sistem file harus mengekstrak dan mendekode objek file untuk menentukan apakah ia mewakili file pengguna atau direktori yang terbuka. Jika ya, driver harus memproses permintaan dan menyelesaikan IRP. Jika tidak, driver harus menyelesaikan IRP sebagaimana mestinya tanpa memproses permintaan.

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 informasi keamanan yang ditetapkan:

  • DeviceObject adalah penunjuk ke objek perangkat target.

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

  • 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_SECURITY dan tidak boleh digunakan.

  • IrpSp->MajorFunction diatur ke IRP_MJ_SET_SECURITY.

  • IrpSp->Parameters.SetSecurity.SecurityDescriptor menunjuk ke struktur SECURITY_DESCRIPTOR yang berisi nilai informasi keamanan yang akan ditetapkan ke objek.

  • IrpSp->Parameters.SetSecurity.SecurityInformation adalah nilai jenis SECURITY_INFORMATION yang menentukan informasi keamanan mana yang akan diatur dalam deskriptor keamanan, dan dapat menjadi salah satu nilai berikut.

Nilai SecurityInformation Makna
DACL_SECURITY_INFORMATION Menunjukkan bahwa daftar kontrol akses diskresi (DACL) objek sedang diatur. Membutuhkan akses WRITE_DAC.
GROUP_SECURITY_INFORMATION Menunjukkan bahwa pengidentifikasi grup utama objek sedang diatur. Membutuhkan akses WRITE_OWNER.
OWNER_SECURITY_INFORMATION Menunjukkan bahwa pengidentifikasi pemilik objek sedang diatur. Membutuhkan akses WRITE_OWNER.
SACL_SECURITY_INFORMATION Menunjukkan bahwa sistem ACL (SACL) objek sedang diatur. Membutuhkan akses ACCESS_SYSTEM_SECURITY.

Lihat juga

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION