Bagikan melalui


struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE (winnt.h)

Struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE menentukan entri kontrol akses (ACE) yang mengontrol akses ditolak ke objek, set properti, atau properti. ACE berisi sekumpulan hak akses, GUID yang mengidentifikasi jenis objek, dan pengidentifikasi keamanan (SID) yang mengidentifikasi wali yang akan ditolak akses oleh sistem. ACE juga berisi GUID dan sekumpulan bendera yang mengontrol pewarisan ACE oleh objek anak.

Ketika fungsi AuthzAccessCheck dipanggil, setiap struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE yang terkandung dalam DACL struktur SECURITY_DESCRIPTOR diteruskan melalui penunjuk ke fungsi AuthzAccessCheck memanggil panggilan ke fungsi AuthzAccessCheckCallback yang ditentukan aplikasi, di mana penunjuk ke struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE yang ditemukan diteruskan dalam parameter pAce .

Sintaks

typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       Flags;
  GUID        ObjectType;
  GUID        InheritedObjectType;
  DWORD       SidStart;
} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;

Anggota

Header

ACE_HEADER struktur yang menentukan ukuran dan jenis ACE. Ini berisi bendera yang mengontrol pewarisan ACE oleh objek anak. Anggota AceType dari struktur ACE_HEADER harus diatur ke ACCESS_DENIED_CALLBACK_ACE_TYPE, dan anggota AceSize harus diatur ke jumlah total byte yang dialokasikan untuk struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE .

Mask

ACCESS_MASK yang menentukan hak akses yang akan ditolak sistem kepada wali amanat.

Flags

Sekumpulan bendera bit yang menunjukkan apakah anggota ObjectType dan InheritedObjectType ada. Parameter ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
0
ObjectType maupun InheritedObjectType tidak ada. Anggota SidStart mengikuti segera setelah anggota Bendera .
ACE_OBJECT_TYPE_PRESENT
ObjectType ada dan berisi GUID.

Jika nilai ini tidak ditentukan, anggota InheritedObjectType segera mengikuti setelah anggota Bendera .

ACE_INHERITED_OBJECT_TYPE_PRESENT
InheritedObjectType ada dan berisi GUID.

Jika nilai ini tidak ditentukan, semua jenis objek anak dapat mewarisi ACE.

ObjectType

Anggota ini hanya ada jika bit ACE_OBJECT_TYPE_PRESENT diatur dalam anggota Bendera . Jika tidak, anggota InheritedObjectType segera mengikuti setelah anggota Bendera .

Jika anggota ini ada, ini adalah struktur GUID yang mengidentifikasi kumpulan properti, properti, hak diperluas, atau jenis objek anak. Tujuan GUID ini tergantung pada hak akses yang ditentukan dalam anggota Mask .

Nilai Makna
ADS_RIGHT_DS_CONTROL_ACCESS
GUIDObjectType mengidentifikasi hak akses yang diperluas.
ADS_RIGHT_DS_CREATE_CHILD
GUIDObjectType mengidentifikasi jenis objek anak. ACE mengontrol hak wali untuk membuat tipe objek anak ini.
ADS_RIGHT_DS_READ_PROP
GUID ObjectType mengidentifikasi kumpulan properti atau properti objek. ACE mengontrol hak wali untuk membaca properti atau set properti.
ADS_RIGHT_DS_WRITE_PROP
GUID ObjectType mengidentifikasi kumpulan properti atau properti objek. ACE mengontrol hak wali untuk menulis properti atau set properti.
ADS_RIGHT_DS_SELF
GUID ObjectType mengidentifikasi tulisan yang divalidasi.

InheritedObjectType

Anggota ini hanya ada jika bit ACE_INHERITED_OBJECT_TYPE_PRESENT diatur dalam anggota Bendera .

Jika anggota ini ada, itu adalah struktur GUID yang mengidentifikasi jenis objek anak yang dapat mewarisi ACE. Pewarisan juga dikendalikan oleh bendera pewarisan dalam ACE_HEADER, serta oleh perlindungan terhadap pewarisan yang ditempatkan pada objek anak.

Offset anggota ini dapat bervariasi. Jika anggota Bendera tidak berisi bendera ACE_OBJECT_TYPE_PRESENT, anggota InheritedObjectType dimulai dari offset yang ditentukan oleh anggota ObjectType .

SidStart

DWORD pertama dari SID wali amanat. Byte SID yang tersisa disimpan dalam memori yang berdampingan setelah anggota SidStart . SID ini dapat ditambahkan dengan data aplikasi.

Keterangan

Jika GuIDObjectType atau InheritedObjectType tidak ditentukan, struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE memiliki semantik yang sama dengan yang digunakan oleh struktur ACCESS_DENIED_CALLBACK_ACE. Dalam hal ini, gunakan struktur ACCESS_DENIED_CALLBACK_ACE karena lebih kecil dan lebih efisien.

ACL yang berisi ACCESS_DENIED_CALLBACK_OBJECT_ACE harus menentukan nomor revisi ACL_REVISION_DS di header ACL-nya .

Hak akses yang ditentukan oleh anggota Mask ditolak untuk setiap wali yang memiliki SID yang diaktifkan yang cocok dengan SID yang disimpan di anggota SidStart .

Ketika struktur ACCESS_DENIED_CALLBACK_OBJECT_ACE dibuat, memori yang cukup harus dialokasikan untuk mengakomodasi struktur GUID di anggota ObjectType dan InheritedObjectType , jika salah satu atau keduanya ada, serta untuk mengakomodasi SID lengkap dari trustee di anggota SidStart dan memori berdekatan yang mengikutinya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header winnt.h (sertakan Windows.h)

Lihat juga

ACE

ACL

TambahkanAuditAccessObjectAce

GUID

SID