Fungsi ZwSetSecurityObject (ntifs.h)

Rutinitas ZwSetSecurityObject menetapkan status keamanan objek.

Sintaks

NTSYSAPI NTSTATUS ZwSetSecurityObject(
  [in] HANDLE               Handle,
  [in] SECURITY_INFORMATION SecurityInformation,
  [in] PSECURITY_DESCRIPTOR SecurityDescriptor
);

Parameter

[in] Handle

Tangani untuk objek yang status keamanannya akan diatur. Handel ini harus memiliki akses yang ditentukan di kolom Arti tabel yang diperlihatkan dalam deskripsi parameter SecurityInformation .

[in] SecurityInformation

Nilai SECURITY_INFORMATIONyang menentukan informasi yang akan ditetapkan. Bisa berupa kombinasi dari satu atau beberapa nilai berikut.

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

[in] SecurityDescriptor

Arahkan ke deskriptor keamanan yang akan diatur untuk objek.

Nilai kembali

ZwSetSecurityObject 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 hak akses yang diperlukan.
STATUS_ACCESS_VIOLATION SecurityDescriptor adalah penunjuk NULL .
STATUS_INSUFFICIENT_RESOURCES Deskriptor keamanan objek tidak dapat ditangkap.
STATUS_INVALID_ACL Deskriptor keamanan objek berisi ACL yang tidak valid.
STATUS_INVALID_HANDLE Handel bukan handel yang valid.
STATUS_INVALID_SECURITY_DESCR SecurityDescriptor tidak menunjuk ke pendeskripsi keamanan yang valid.
STATUS_INVALID_SID Deskriptor keamanan objek berisi SID yang tidak valid.
STATUS_OBJECT_TYPE_MISMATCH Handel bukan handel dari tipe yang diharapkan.
STATUS_UNKNOWN_REVISION Tingkat revisi deskriptor keamanan objek tidak diketahui atau tidak didukung.

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 penunjuk ke anggota. Untuk informasi selengkapnya, lihat "Deskriptor Keamanan Absolut dan Self-Relative" di bagian Keamanan dokumentasi Windows SDK.

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 menggunakan FltSetSecurityObject alih-alih ZwSetSecurityObject.

Penelepon ZwSetSecurityObject harus berjalan di IRQL = PASSIVE_LEVEL dan dengan APC kernel khusus diaktifkan.

Catatan

Jika panggilan ke fungsi ZwSetSecurityObject terjadi dalam mode pengguna, Anda harus menggunakan nama "NtSetSecurityObject" alih-alih "ZwSetSecurityObject".

Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinItas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan 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 (lihat bagian Keterangan)
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Lihat juga

FltSetSecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwQuerySecurityObject