Fungsi RtlAddAce (ntifs.h)

Rutinitas RtlAddAce menambahkan satu atau beberapa entri kontrol akses (ACE) ke daftar kontrol akses (ACL) tertentu.

Sintaks

NTSYSAPI NTSTATUS RtlAddAce(
  [in, out] PACL  Acl,
  [in]      ULONG AceRevision,
  [in]      ULONG StartingAceIndex,
  [in]      PVOID AceList,
  [in]      ULONG AceListLength
);

Parameter

[in, out] Acl

Arahkan ke ACL yang akan dimodifikasi. RtlAddAce menambahkan ACE yang ditentukan ke ACL ini.

[in] AceRevision

Tingkat revisi ACL dari ACE yang akan ditambahkan. Persyaratan versi Windows adalah sebagai berikut:

Nilai Makna
ACL_REVISION Tingkat revisi valid pada semua versi Windows.
ACL_REVISION_DS Tingkat revisi valid dimulai dengan Windows 2000.

AceRevision harus ACL_REVISION_DS jika ACL di Acl berisi ACE khusus objek.

[in] StartingAceIndex

Menentukan posisi dalam daftar ACE ACL untuk menambahkan ACE baru. Nilai nol menyisipkan ACE di awal daftar. Nilai MAXULONG menambahkan ACE ke akhir daftar.

[in] AceList

Penunjuk ke buffer yang berisi daftar satu atau beberapa ACE untuk ditambahkan ke ACL yang ditentukan. ACE dalam daftar harus disimpan secara berdampingan.

[in] AceListLength

Ukuran, dalam byte, dari buffer input yang ditujukkan oleh parameter AceList .

Mengembalikan nilai

RtlAddAce mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti salah satu hal berikut ini:

Menampilkan kode Deskripsi
STATUS_BUFFER_TOO_SMALL ACE baru tidak cocok dengan ACL. Diperlukan buffer ACL yang lebih besar. STATUS_BUFFER_TOO_SMALL adalah kode kesalahan.
STATUS_INVALID_PARAMETER Salah satu nilai parameter tidak valid. Kemungkinan alasannya termasuk bahwa ACL yang ditentukan tidak valid atau revisi yang ditentukan tidak diketahui, tidak kompatibel dengan revisi dalam daftar ACE, atau tidak kompatibel dengan revisi ACL. STATUS_INVALID_PARAMETER adalah kode kesalahan.

Keterangan

Untuk informasi tentang menghitung ukuran ACL, lihat bagian Keterangan dari entri referensi untuk RtlCreateAcl.

Untuk mendapatkan pointer ke ACE dalam ACL, gunakan RtlGetAce.

Untuk menghapus ACE dari ACL, gunakan RtlDeleteAce.

Untuk menambahkan ACE yang diizinkan akses ke ACL, gunakan RtlAddAccessAllowedAce.

Untuk informasi selengkapnya tentang keamanan dan kontrol akses, lihat Model keamanan Windows untuk pengembang driver dan dokumentasi tentang topik ini di Windows SDK.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Server 2003 dengan SP1
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe (mode kernel); Ntdll.dll (mode pengguna)
IRQL <= APC_LEVEL

Lihat juga

ACE

ACL

RtlAddAccessAllowedAce

RtlCreateAcl

RtlDeleteAce

RtlGetAce