ACL 結構 (winnt.h)

ACL 結構是訪問控制清單的標頭, (ACL) 。 完整的 ACL 是由 ACL 結構所組成,後面接著零個或多個 存取控制專案的 排序列表, (ACE) 。

語法

typedef struct _ACL {
  BYTE AclRevision;
  BYTE Sbz1;
  WORD AclSize;
  WORD AceCount;
  WORD Sbz2;
} ACL;

成員

AclRevision

指定 ACL 的修訂層級。 除非 ACL 包含物件特定的 ACE,否則此值應該ACL_REVISION,在此情況下,此值必須ACL_REVISION_DS。 ACL 中的所有 ACE 都必須位於相同的修訂層級。

Sbz1

指定零 位元組填補, 以對齊16位界限上的 AclRevision 成員。

AclSize

指定 ACL 的大小,以位元組為單位。 此值包括 ACL 結構、所有 ACE ,以及潛在的未使用記憶體。

AceCount

指定 ACL 中儲存的 ACE 數目。

Sbz2

指定兩個零位元組的 填補 ,以對齊32位界限上的 ACL 結構。

備註

ACL 包含零個或多個 ACE 的循序列表。 ACL 中的個別 ACE 編號為 0 到 n,其中 n+1 是 ACL 中的 ACE 數目。 編輯 ACL 時,應用程式會依 ACE 的索引參考 ACL 內的 ACE。

ACL 有兩種類型:選擇性和系統。

DACL) (任意訪問控制清單是由對象的擁有者或授與WRITE_DAC物件存取權的任何人所控制。 它會指定特定使用者和群組對物件可以擁有的存取權。 例如,檔案的擁有者可以使用 DACL 來控制哪些使用者和群組可以且無法存取檔案。

物件也可以有與其相關聯的系統層級安全性資訊,其形式為 系統訪問控制清單 , (SACL) 由系統管理員控制。 SACL 可讓系統管理員稽核任何嘗試取得物件的存取權。

如需目前定義的 ACE 結構清單,請參閱 ACE

目前不支援第四個 ACE 結構 SYSTEM_ALARM_ACE

ACL 結構會被視為不透明,而且應用程式不會嘗試直接使用其成員。 為了確保 ACL 語意正確,應用程式可以使用一節中列出的函式來建立及操作 ACL。

每個 ACLACE 結構都會從 DWORD 界限開始。

ACL 的大小上限,包括其 ACE 的大小上限為 64 KB。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 winnt.h (包含 Windows.h)

另請參閱

AddAce

DeleteAce

GetAclInformation

GetSecurityDescriptorDacl

GetSecurityDescriptorSacl

InitializeAcl

IsValidAcl

SetAclInformation

SetSecurityDescriptorDacl

SetSecurityDescriptorSacl