Bagikan melalui


Fungsi AddAccessAllowedAce (securitybaseapi.h)

Fungsi AddAccessAllowedAce menambahkan entri kontrol akses (ACE) yang diizinkan akses ke daftar kontrol akses (ACL). Akses diberikan kepada pengidentifikasi keamanan (SID) tertentu.

Untuk mengontrol apakah ACE baru dapat diwarisi oleh objek turunan, gunakan fungsi AddAccessAllowedAceEx .

Sintaks

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

Parameter

[in, out] pAcl

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

[in] dwAceRevision

Menentukan tingkat revisi ACL yang sedang dimodifikasi.

Nilai ini dapat ACL_REVISION atau ACL_REVISION_DS. Gunakan ACL_REVISION_DS jika ACL berisi ACE khusus objek.

[in] AccessMask

Menentukan masker hak akses yang akan diberikan kepada SID yang ditentukan.

[in] pSid

Penunjuk ke SID yang mewakili pengguna, grup, atau akun masuk yang diberikan 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_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

Penambahan ACE yang diizinkan akses ke ACL adalah bentuk modifikasi ACL yang paling umum.

Fungsi AddAccessAllowedAce dan AddAccessDeniedAce menambahkan ACE baru ke akhir daftar ACE untuk ACL. Fungsi-fungsi ini tidak secara otomatis menempatkan ACE baru dalam urutan kanonis yang tepat. Adalah tanggung jawab pemanggil untuk memastikan bahwa ACL berada dalam urutan kanonis dengan menambahkan ACE dalam urutan yang tepat.

Struktur ACE_HEADER ditempatkan di ACE oleh fungsi AddAccessAllowedAce menentukan jenis dan ukuran, tetapi tidak menyediakan pewarisan dan tanpa bendera ACE.

Contoh

Untuk contoh yang menggunakan fungsi ini, lihat Memulai Proses Klien Interaktif.

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

ACE_HEADER

AddAccessAllowedAceEx

AddAccessDeniedAce

AddAce

TambahkanAuditAccessAce

DeleteAce

GetAce

Access Control tingkat rendah

Fungsi Access Control tingkat rendah