Bagikan melalui


Fungsi AddResourceAttributeAce (securitybaseapi.h)

Fungsi AddResourceAttributeAce menambahkan entri kontrol akses (ACE) SYSTEM_RESOURCE_ATTRIBUTE_ACE ke akhir daftar kontrol akses sistem (SACL). Struktur SYSTEM_RESOURCE_ATTRIBUTE_ACE menentukan nama atribut dan daftar elemen berurutan nilai yang terkait dengan sumber daya dan berpotensi digunakan selama pemeriksaan akses. Kumpulan hak akses standar ditentukan dalam topik Hak Akses Standar .

Sintaks

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

Parameter

[in, out] pAcl

Penunjuk ke daftar kontrol akses (ACL). Fungsi ini menambahkan ACE ke ACL ini. Nilai parameter ini tidak boleh NULL. ACE dalam bentuk struktur SYSTEM_RESOURCE_ATTRIBUTE_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] AceFlags

Sekumpulan bendera bit yang mengontrol pewarisan ACE. Fungsi ini menetapkan bendera ini di anggota AceFlags dari struktur ACE_HEADER ACE baru.

Untuk konsistensi dengan UI Izin File Tingkat Lanjut Windows 8, aplikasi harus menentukan bendera CONTAINER_INHERIT_ACE dan OBJECT_INHERIT_ACE dalam parameter AceFlags.

Parameter ini bisa menjadi kombinasi dari nilai berikut.

Nilai Makna
CONTAINER_INHERIT_ACE
2 (0x2)
ACE diwarisi oleh objek kontainer.
INHERIT_ONLY_ACE
8 (0x8)
ACE tidak berlaku untuk objek tempat ACE ditetapkan, tetapi dapat diwarisi oleh objek anak.
INHERITED_ACE
16 (0x10)
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
4 (0x4)
Bit OBJECT_INHERIT_ACE dan CONTAINER_INHERIT_ACE tidak disebarkan ke ACE yang diwariskan.
OBJECT_INHERIT_ACE
1 (0x1)
ACE diwarisi oleh objek non-kontainer.

[in] AccessMask

Harus nol untuk Windows 8 dan Windows Server 2012.

[in] pSid

Harus SID Semua Orang (S-1-1-0) untuk Windows 8 dan Windows Server 2012.

[in] pAttributeInfo

Menentukan informasi atribut yang akan ditambahkan setelah SID di ACE.

[out] pReturnLength

Ukuran, dalam byte, dari buffer ACL aktual yang digunakan. Jika buffer yang ditentukan oleh parameter pAcl tidak cukup besar, nilai parameter ini adalah ukuran total yang diperlukan untuk buffer ACL.

Mengembalikan nilai

Jika fungsi berhasil, fungsi akan mengembalikan TRUE.

Jika fungsi gagal, fungsi akan mengembalikan FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2012 [hanya aplikasi desktop]
Target Platform Windows
Header securitybaseapi.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Hak Akses Standar