Fungsi ZwQuerySecurityObject (ntifs.h)
Rutinitas ZwQuerySecurityObject mengambil salinan deskriptor keamanan objek.
Sintaks
NTSYSAPI NTSTATUS ZwQuerySecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out] PULONG LengthNeeded
);
Parameter
[in] Handle
Tangani untuk objek yang deskriptor keamanannya akan dikueri. Handel ini harus memiliki akses yang ditentukan di kolom Arti tabel yang diperlihatkan dalam deskripsi parameter SecurityInformation .
[in] SecurityInformation
Nilai SECURITY_INFORMATION yang menentukan informasi yang akan dikueri sebagai kombinasi dari satu atau beberapa hal berikut ini.
Nilai | Makna |
---|---|
OWNER_SECURITY_INFORMATION | Pengidentifikasi pemilik objek sedang dikueri. Membutuhkan akses READ_CONTROL. |
GROUP_SECURITY_INFORMATION | Pengidentifikasi grup utama objek sedang dikueri. Membutuhkan akses READ_CONTROL. |
SACL_SECURITY_INFORMATION | Sistem objek ACL (SACL) sedang dikueri. Membutuhkan akses ACCESS_SYSTEM_SECURITY. |
DACL_SECURITY_INFORMATION | Daftar kontrol akses diskresi (DACL) objek sedang dikueri. Membutuhkan akses READ_CONTROL. |
[out] SecurityDescriptor
Buffer yang dialokasikan pemanggil yang diisi ZwQuerySecurityObject dengan salinan deskriptor keamanan yang ditentukan. Struktur SECURITY_DESCRIPTOR dikembalikan dalam format relatif mandiri.
[in] Length
Ukuran, dalam byte, dari buffer yang diacu oleh SecurityDescriptor.
[out] LengthNeeded
Penunjuk ke variabel yang dialokasikan penelepon yang menerima jumlah byte yang diperlukan untuk menyimpan deskriptor keamanan yang disalin.
Nilai kembali
ZwQuerySecurityObject mengembalikan STATUS_SUCCESS atau status kesalahan yang sesuai. Kemungkinan kode status kesalahan meliputi yang berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_ACCESS_DENIED | Handel tidak memiliki akses yang diperlukan. |
STATUS_BUFFER_TOO_SMALL | Buffer terlalu kecil untuk deskriptor keamanan. Tidak ada informasi keamanan yang disalin ke penyangga. |
STATUS_INVALID_HANDLE | Handel bukan handel yang valid. |
STATUS_OBJECT_TYPE_MISMATCH | Handel bukan handel dari tipe yang diharapkan. |
Keterangan
Deskriptor keamanan dapat dalam bentuk absolut atau relatif mandiri. Dalam bentuk relatif mandiri, semua anggota struktur terletak bersebelahan dalam memori. Dalam bentuk absolut, struktur hanya berisi pointer kepada anggota. Untuk informasi selengkapnya, lihat Deskriptor Keamanan Absolut dan Self-Relative.
Sistem file NTFS memberlakukan batas 64K pada ukuran pendeskripsi keamanan yang ditulis ke disk untuk file. (Sistem file FAT tidak mendukung deskriptor keamanan untuk file.) Dengan demikian buffer SecurityDescriptor 64K dijamin cukup besar untuk menahan struktur SECURITY_DESCRIPTOR yang dikembalikan.
Untuk informasi selengkapnya tentang keamanan dan kontrol akses, lihat Model keamanan Windows untuk pengembang driver dan dokumentasi tentang topik ini di Windows SDK.
Minifilter harus memanggil FltQuerySecurityObject alih-alih ZwQuerySecurityObject.
Catatan
Jika panggilan ke fungsi ZwQuerySecurityObject terjadi dalam mode pengguna, Anda harus menggunakan nama "NtQuerySecurityObject" alih-alih "ZwQuerySecurityObject".
Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinitas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menafsirkan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |