Fungsi AddAccessDeniedObjectAce (securitybaseapi.h)
Fungsi AddAccessDeniedObjectAce menambahkan entri kontrol akses (ACE) yang ditolak akses ke akhir daftar kontrol akses diskresi (DACL). ACE baru dapat menolak akses ke objek, atau ke set properti atau properti pada objek. Anda juga dapat menggunakan AddAccessDeniedObjectAce untuk menambahkan ACE yang hanya dapat diwarisi oleh tipe objek anak tertentu.
Sintaks
BOOL AddAccessDeniedObjectAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD AccessMask,
[in, optional] GUID *ObjectTypeGuid,
[in, optional] GUID *InheritedObjectTypeGuid,
[in] PSID pSid
);
Parameter
[in, out] pAcl
Penunjuk ke DACL. Fungsi AddAccessDeniedObjectAce menambahkan ACE yang ditolak akses ke akhir DACL ini. ACE dalam bentuk struktur ACCESS_DENIED_OBJECT_ACE .
[in] dwAceRevision
Menentukan tingkat revisi DACL yang sedang dimodifikasi. Nilai ini harus ACL_REVISION_DS. Jika tingkat revisi DACL lebih rendah dari ACL_REVISION_DS, fungsi mengubahnya menjadi ACL_REVISION_DS.
[in] AceFlags
Sekumpulan bendera bit yang mengontrol pewarisan ACE. Fungsi ini menetapkan bendera ini di anggota AceFlags dari struktur ACE_HEADER ACE baru. Parameter ini bisa menjadi kombinasi dari nilai berikut.
Nilai | Makna |
---|---|
|
ACE diwarisi oleh objek kontainer. |
|
ACE tidak berlaku untuk objek tempat daftar kontrol akses (ACL) ditetapkan, tetapi dapat diwarisi oleh objek anak. |
|
Menunjukkan ACE yang diwariskan. Bendera ini memungkinkan operasi yang mengubah keamanan pada pohon objek untuk memodifikasi ACE yang diwariskan, sambil tidak mengubah ACE yang langsung diterapkan ke objek. |
|
Bit OBJECT_INHERIT_ACE dan CONTAINER_INHERIT_ACE tidak disebarkan ke ACE yang diwariskan. |
|
ACE diwarisi oleh objek nonkontainer. |
[in] AccessMask
Sekumpulan bendera bit yang menggunakan format ACCESS_MASK untuk menentukan hak akses yang ditolak ACE baru ke pengidentifikasi keamanan (SID) yang ditentukan.
[in, optional] ObjectTypeGuid
Penunjuk ke struktur GUID yang mengidentifikasi jenis objek, kumpulan properti, atau properti yang dilindungi oleh ACE baru. Jika parameter ini NULL, ACE baru melindungi objek tempat ACL ditetapkan.
[in, optional] InheritedObjectTypeGuid
Penunjuk ke struktur GUID yang mengidentifikasi jenis objek yang dapat mewarisi ACE baru. Jika parameter ini non-NULL, hanya jenis objek yang ditentukan yang dapat mewarisi ACE. Jika NULL, semua jenis objek anak dapat mewarisi ACE. Dalam kedua kasus, pewarisan juga dikendalikan oleh nilai parameter AceFlags , serta dengan perlindungan apa pun terhadap pewarisan yang ditempatkan pada objek anak.
[in] pSid
Penunjuk ke SID yang mengidentifikasi pengguna, grup, atau sesi masuk tempat ACE baru mengizinkan akses.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. Berikut ini adalah kemungkinan nilai kesalahan.
Menampilkan kode | Deskripsi |
---|---|
|
ACE baru tidak cocok dengan ACL. Diperlukan buffer ACL yang lebih besar. |
|
ACL yang ditentukan tidak terbentuk dengan benar. |
|
Parameter AceFlags tidak valid. |
|
SID yang ditentukan tidak valid secara struktural. |
|
Revisi yang ditentukan tidak diketahui atau tidak kompatibel dengan ACL. |
|
ACE berhasil ditambahkan. |
Keterangan
Jika ObjectTypeGuid dan InheritedObjectTypeGuid adalah NULL, gunakan fungsi AddAccessDeniedAceEx daripada AddAccessDeniedObjectAce. Ini disarankan karena ACCESS_DENIED_ACE lebih kecil dan lebih efisien daripada ACCESS_DENIED_OBJECT_ACE.
Meskipun fungsi AddAccessDeniedObjectAce menambahkan ACE baru ke akhir ACL, ACE yang ditolak akses akan muncul di awal ACL. Pemanggil harus memastikan bahwa ACE ditambahkan ke DACL dalam urutan yang benar. Untuk informasi selengkapnya, lihat Urutan ACE dalam DACL.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | securitybaseapi.h (termasuk Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk