Bagikan melalui


Fungsi ZwSetSecurityObject (ntifs.h)

Rutinitas ZwSetSecurityObject mengatur status keamanan objek.

Sintaksis

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 dalam kolom Arti tabel yang diperlihatkan dalam deskripsi parameter SecurityInformation .

[in] SecurityInformation

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

Nilai Arti
DACL_SECURITY_INFORMATION Menunjukkan daftar kontrol akses diskresi (DACL) objek akan diatur. Memerlukan akses WRITE_DAC.
GROUP_SECURITY_INFORMATION Menunjukkan pengidentifikasi grup utama objek 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

Penunjuk ke deskriptor keamanan yang akan diatur untuk objek.

Mengembalikan nilai

ZwSetSecurityObject mengembalikan STATUS_SUCCESS atau status kesalahan yang sesuai. Kemungkinan kode status kesalahan meliputi yang berikut ini:

Mengembalikan kode Deskripsi
STATUS_ACCESS_DENIED Handle 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 Handle bukan handel yang valid.
STATUS_INVALID_SECURITY_DESCR SecurityDescriptor tidak menunjuk ke deskriptor keamanan yang valid.
STATUS_INVALID_SID Deskriptor keamanan objek berisiSID yang tidak valid.
STATUS_OBJECT_TYPE_MISMATCH Handle bukan handel dari jenis yang diharapkan.
STATUS_UNKNOWN_REVISION Tingkat revisi deskriptor keamanan objek tidak diketahui atau tidak didukung.

Komentar

Deskriptor keamanan dapat dalam bentuk absolut atau relatif mandiri. Dalam bentuk relatif diri, 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 yang diaktifkan.

Nota

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

Untuk panggilan dari driver mode kernel, NtXxx dan ZwXxx versi rutin Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara NtXxx dan versi ZwXxx rutin, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP
Platform Target Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (lihat bagian Keterangan)
aturan kepatuhan DDI HwStorPortProhibitedDIs (storport), PowerIrpDDis(wdm)

Lihat juga

FltSetSecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwQuerySecurityObject