struktur EXPLICIT_ACCESS_A (accctrl.h)

Struktur EXPLICIT_ACCESS menentukan informasi kontrol akses untuk wali yang ditentukan. Fungsi kontrol akses, seperti SetEntriesInAcl dan GetExplicitEntriesFromAcl, menggunakan struktur ini untuk menjelaskan informasi dalam entri kontrol akses (ACE) dari daftar kontrol akses (ACL).

Sintaks

typedef struct _EXPLICIT_ACCESS_A {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_A   Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;

Anggota

grfAccessPermissions

Sekumpulan bendera bit yang menggunakan format ACCESS_MASK untuk menentukan hak akses yang diizinkan, ditolak, atau diaudit oleh ACE untuk wali amanat. Fungsi yang menggunakan struktur EXPLICIT_ACCESS tidak mengonversi, menginterpretasikan, atau memvalidasi bit dalam masker ini.

grfAccessMode

Nilai dari enumerasi ACCESS_MODE . Untuk daftar kontrol akses diskresi (DACL), bendera ini menunjukkan apakah ACL mengizinkan atau menolak hak akses yang ditentukan. Untuk daftar kontrol akses sistem (SACL), bendera ini menunjukkan apakah ACL menghasilkan pesan audit untuk upaya yang berhasil menggunakan hak akses yang ditentukan, atau upaya yang gagal, atau keduanya. Saat memodifikasi ACL yang ada, Anda dapat menentukan bendera REVOKE_ACCESS untuk menghapus ACE yang ada untuk wali yang ditentukan.

grfInheritance

Sekumpulan bendera bit yang menentukan apakah kontainer atau objek lain dapat mewarisi ACE dari objek utama tempat ACL dilampirkan. Nilai anggota ini sesuai dengan bagian warisan (byte urutan rendah) dari anggota AceFlags dari struktur ACE_HEADER . Parameter ini dapat NO_INHERITANCE untuk menunjukkan bahwa ACE tidak dapat diwariskan; atau bisa berupa kombinasi dari nilai berikut.

Nilai Makna
CONTAINER_INHERIT_ACE
Kontainer lain yang dimuat oleh objek utama mewarisi ACE.
INHERIT_NO_PROPAGATE
Mewarisi tetapi tidak menyebar.
INHERIT_ONLY
Hanya mewarisi.
INHERIT_ONLY_ACE
ACE tidak berlaku untuk objek utama tempat ACL dilampirkan, tetapi objek yang dimuat oleh objek utama mewarisi ACE.
NO_INHERITANCE
Jangan mewarisi.
NO_PROPAGATE_INHERIT_ACE
Bendera OBJECT_INHERIT_ACE dan CONTAINER_INHERIT_ACE tidak disebarkan ke ACE yang diwariskan.
OBJECT_INHERIT_ACE
Objek nonkontainer yang dimuat oleh objek utama mewarisi ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Baik kontainer maupun objek nonkontainer yang dimuat oleh objek utama mewarisi ACE. Bendera ini sesuai dengan kombinasi bendera CONTAINER_INHERIT_ACE dan OBJECT_INHERIT_ACE.
SUB_CONTAINERS_ONLY_INHERIT
Kontainer lain yang dimuat oleh objek utama mewarisi ACE. Bendera ini sesuai dengan bendera CONTAINER_INHERIT_ACE.
SUB_OBJECTS_ONLY_INHERIT
Objek nonkontainer yang dimuat oleh objek utama mewarisi ACE. Bendera ini sesuai dengan bendera OBJECT_INHERIT_ACE.

Trustee

Struktur TRUSTEE yang mengidentifikasi pengguna, grup, atau program (seperti layanan Windows) tempat ACE berlaku.

Keterangan

Catatan

Header accctrl.h mendefinisikan EXPLICIT_ACCESS_ sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header accctrl.h

Lihat juga

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

WALI