Bagikan melalui


Fungsi AddResourceAttributeAce (securitybaseapi.h)

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

Sintaksis

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 ACL khusus objek.

[in] AceFlags

Sekumpulan bendera bit yang mengontrol pewarisan ACE. Fungsi ini menetapkan bendera ini di AceFlags anggota 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 Arti
CONTAINER_INHERIT_ACE
2 (0x2)
ACE diwariskan oleh objek kontainer.
INHERIT_ONLY_ACE
8 (0x8)
ACE tidak berlaku untuk objek tempat ACE ditetapkan, tetapi dapat diwariskan oleh objek turunan.
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 diwariskan 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 mengembalikan FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Persyaratan

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

Lihat juga

Hak Akses Standar