Fungsi SetSecurityInfo (aclapi.h)
Fungsi SetSecurityInfo menetapkan informasi keamanan yang ditentukan dalam deskriptor keamanan objek tertentu. Pemanggil mengidentifikasi objek dengan handel.
Untuk mengatur SACL objek, pemanggil harus mengaktifkan hak istimewa SE_SECURITY_NAME .
Sintaks
DWORD SetSecurityInfo(
[in] HANDLE handle,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in, optional] PSID psidOwner,
[in, optional] PSID psidGroup,
[in, optional] PACL pDacl,
[in, optional] PACL pSacl
);
Parameter
[in] handle
Handel ke objek untuk mengatur informasi keamanan.
[in] ObjectType
Anggota enumerasi SE_OBJECT_TYPE yang menunjukkan jenis objek yang diidentifikasi oleh parameter handel .
[in] SecurityInfo
Sekumpulan bendera bit yang menunjukkan jenis informasi keamanan yang akan diatur. Parameter ini dapat menjadi kombinasi dari bendera bit SECURITY_INFORMATION .
[in, optional] psidOwner
Penunjuk ke SID yang mengidentifikasi pemilik objek. SID harus salah satu yang dapat ditetapkan sebagai SID pemilik deskriptor keamanan. Parameter SecurityInfo harus menyertakan bendera OWNER_SECURITY_INFORMATION. Parameter ini bisa NULL jika Anda tidak mengatur SID pemilik.
[in, optional] psidGroup
Penunjuk ke SID yang mengidentifikasi grup utama objek. Parameter SecurityInfo harus menyertakan bendera GROUP_SECURITY_INFORMATION. Parameter ini bisa NULL jika Anda tidak mengatur SID grup utama.
[in, optional] pDacl
Penunjuk ke DACL baru untuk objek . Parameter ini diabaikan kecuali nilai parameter SecurityInfo menyertakan bendera DACL_SECURITY_INFORMATION . Jika nilai parameter SecurityInfo menyertakan bendera DACL_SECURITY_INFORMATION dan nilai parameter ini diatur ke NULL, akses penuh ke objek diberikan kepada semua orang. Untuk informasi tentang DACL null , lihat Membuat DACL.
[in, optional] pSacl
Penunjuk ke SACL baru untuk objek . Parameter SecurityInfo harus menyertakan salah satu bendera berikut: SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION, atau BACKUP_SECURITY_INFORMATION. Jika mengatur SACL_SECURITY_INFORMATION atau SCOPE_SECURITY_INFORMATION, pemanggil harus mengaktifkan hak istimewa SE_SECURITY_NAME. Parameter ini bisa NULL jika Anda tidak mengatur SACL.
Nilai kembali
Jika fungsi berhasil, fungsi akan mengembalikan ERROR_SUCCESS.
Jika fungsi gagal, fungsi mengembalikan kode kesalahan bukan nol yang ditentukan dalam WinError.h.
Keterangan
Jika Anda mengatur daftar kontrol akses diskresi (DACL) atau elemen apa pun dalam daftar kontrol akses sistem (SACL) objek, sistem secara otomatis menyebarluaskan entri kontrol akses (ACE) yang dapat diwariskan ke objek turunan yang ada, sesuai dengan aturan pewarisan ACE.
Anda dapat menggunakan fungsi SetSecurityInfo dengan jenis objek berikut:
- File atau direktori lokal atau jarak jauh pada NTFS
- Saluran bernama
- Printer lokal atau jarak jauh
- Layanan Windows lokal atau jarak jauh
- Berbagi jaringan
- Kunci registri
- Semaphores, peristiwa, mutex, dan timer yang dapat diantrekan
- Proses, utas, pekerjaan, dan objek pemetaan file
- Stasiun jendela dan desktop
- Objek layanan direktori
Fungsi SetSecurityInfo tidak menyusun ulang ACE yang diizinkan akses atau ditolak akses berdasarkan urutan yang disukai. Saat menyebarkan ACE yang dapat diwariskan ke objek anak yang ada, SetSecurityInfo menempatkan ACE yang diwariskan secara berurutan setelah semua ACE yang tidak diwariskan di DACL objek anak.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | aclapi.h |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |