Bagikan melalui


Fungsi AddAccessAllowedAceEx (securitybaseapi.h)

Fungsi AddAccessAllowedAceEx menambahkan entri kontrol akses yang diizinkan akses (ACE) ke akhir daftar kontrol akses diskresi (DACL).

Sintaks

BOOL AddAccessAllowedAceEx(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD AccessMask,
  [in]      PSID  pSid
);

Parameter

[in, out] pAcl

Penunjuk ke DACL. Fungsi AddAccessAllowedAceEx menambahkan ACE yang diizinkan akses ke akhir DACL ini. ACE dalam bentuk struktur ACCESS_ALLOWED_ACE .

[in] dwAceRevision

Menentukan tingkat revisi DACL yang sedang dimodifikasi. Nilai ini dapat ACL_REVISION atau ACL_REVISION_DS. Gunakan ACL_REVISION_DS jika DACL berisi ACE khusus objek.

[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
CONTAINER_INHERIT_ACE
ACE diwarisi oleh objek kontainer.
INHERIT_ONLY_ACE
ACE tidak berlaku untuk objek tempat daftar kontrol akses (ACL) ditetapkan, tetapi dapat diwariskan oleh objek anak.
INHERITED_ACE
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.
NO_PROPAGATE_INHERIT_ACE
Bit OBJECT_INHERIT_ACE dan CONTAINER_INHERIT_ACE tidak disebarkan ke ACE yang diwariskan.
OBJECT_INHERIT_ACE
ACE diwarisi oleh objek nonkontainer.

[in] AccessMask

Sekumpulan bendera bit yang menggunakan format ACCESS_MASK . Bendera ini menentukan hak akses yang diizinkan ACE baru untuk pengidentifikasi keamanan (SID) yang ditentukan.

[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
ERROR_ALLOTTED_SPACE_EXCEEDED
ACE baru tidak cocok dengan ACL. Buffer ACL yang lebih besar diperlukan.
ERROR_INVALID_ACL
ACL yang ditentukan tidak terbentuk dengan benar.
ERROR_INVALID_FLAGS
Parameter AceFlags tidak valid.
ERROR_INVALID_SID
SID yang ditentukan tidak valid secara struktural.
ERROR_REVISION_MISMATCH
Revisi yang ditentukan tidak diketahui atau tidak kompatibel dengan ACL.
ERROR_SUCCESS
ACE berhasil ditambahkan.

Keterangan

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 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header securitybaseapi.h (termasuk Windows.h)
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

ACCESS_ALLOWED_ACE

ACCESS_MASK

ACE_HEADER

ACL

AddAccessDeniedAceEx

TambahkanAuditAccessAceEx

Access Control tingkat rendah

Fungsi Access Control tingkat rendah