Bagikan melalui


struktur EXPLICIT_ACCESS_W (accctrl.h)

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

Sintaksis

typedef struct _EXPLICIT_ACCESS_W {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_W   Trustee;
} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;

Anggota

grfAccessPermissions

Sekumpulan bendera bit yang menggunakan format ACCESS_MASK untuk menentukan hak akses yang diizinkan ACE, tolak, atau audit untuk wali. Fungsi yang menggunakan struktur EXPLICIT_ACCESS tidak mengonversi, menafsirkan, 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 AceFlags anggota struktur ACE_HEADER. Parameter ini dapat NO_INHERITANCE untuk menunjukkan bahwa ACE tidak dapat diwariskan; atau bisa berupa kombinasi dari nilai berikut.

Nilai Arti
CONTAINER_INHERIT_ACE
Kontainer lain yang dimuat oleh objek utama mewarisi ACE.
INHERIT_NO_PROPAGATE
Mewarisi tetapi tidak menyebarkan.
INHERIT_ONLY
Mewarisi saja.
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) yang diterapkan ACE.

Komentar

Nota

Header accctrl.h mendefinisikan EXPLICIT_ACCESS_ sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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

Syarat 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