Bagikan melalui


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)

Lihat juga

FltQuerySecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwSetSecurityObject