IRP_MJ_QUERY_SECURITY (FS dan driver filter)

Ketika Dikirim

Manajer I/O mengirimkan permintaan IRP_MJ_QUERY_SECURITY. Ini dapat dikirim, misalnya, ketika aplikasi mode pengguna telah disebut fungsi Win32 seperti GetSecurityInfo.

Operasi: Driver Sistem File

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

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 keamanan kueri:

  • 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.

  • Irp->UserBuffer menunjuk ke buffer output yang disediakan penelepon yang menerima salinan deskriptor keamanan objek yang ditentukan. Proses panggilan harus memiliki hak untuk melihat aspek yang ditentukan dari status keamanan objek. Struktur SECURITY_DESCRIPTOR dikembalikan dalam format relatif mandiri.

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

    Pada Windows XP dan yang lebih baru, objek file dapat mewakili aliran data bernama. Untuk informasi selengkapnya tentang aliran data bernama, lihat FILE_STREAM_INFORMATION.

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

  • IrpSp->MajorFunction diatur ke IRP_MJ_QUERY_SECURITY.

  • IrpSp->Parameters.QuerySecurity.Length adalah ukuran, dalam byte, dari buffer yang diarahkan oleh parameter Irp-UserBuffer>.

  • IrpSp->Parameters.QuerySecurity.SecurityInformation menunjuk ke struktur SECURITY_INFORMATION untuk operasi. Nilai ini bisa menjadi kombinasi yang valid dari bit berikut.

    Nilai SecurityInformation Makna
    OWNER_SECURITY_INFORMATION Menunjukkan bahwa pengidentifikasi pemilik objek sedang dikueri. Memerlukan akses READ_CONTROL.
    GROUP_SECURITY_INFORMATION Menunjukkan bahwa pengidentifikasi grup utama objek sedang dikueri. Memerlukan akses READ_CONTROL.
    DACL_SECURITY_INFORMATION Menunjukkan bahwa daftar kontrol akses diskresi (DACL) objek sedang dikueri. Memerlukan akses READ_CONTROL.
    SACL_SECURITY_INFORMATION Menunjukkan bahwa sistem ACL (SACL) objek sedang dikueri. Memerlukan akses ACCESS_SYSTEM_SECURITY.

Lihat juga

FILE_STREAM_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_SET_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION