共用方式為


aCL 結構 (wdm.h)

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

語法

typedef struct _ACL {
  UCHAR  AclRevision;
  UCHAR  Sbz1;
  USHORT AclSize;
  USHORT AceCount;
  USHORT Sbz2;
} ACL;

成員

AclRevision

ACL 的修訂層級。

Microsoft Windows NT 4.0 和更早版本:此值必須ACL_REVISION。

Microsoft Windows 2000 和更新版本: 此值可以是ACL_REVISION或ACL_REVISION_DS。 如果 ACL 包含物件特定的 ACE,則必須ACL_REVISION_DS。

Sbz1

在16位界限上對齊 AclRevision 成員的零位元組填補。

AclSize

ACL 的大小,以位元組為單位。 此值同時包含 ACL 結構和所有 ACE。

AceCount

儲存在 ACL 中的 ACE 數目。

Sbz2

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

備註

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

ACL 有兩種類型:任意和系統。

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

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

目前定義了三個 ACE 結構:

屬性 Description
ACCESS_ALLOWED_ACE 授與使用者或群組的指定許可權。 此 ACE 會儲存在 DACL 中。
ACCESS_DENIED_ACE 拒絕使用者或群組的指定許可權。 此 ACE 會儲存在 DACL 中。
SYSTEM_AUDIT_ACE 指定哪些類型的存取會導致系統層級稽核。 此 ACE 會儲存在 SACL 中。
 

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

ACL 結構被視為不透明,而且驅動程式不應該嘗試直接使用其成員。 為了確保 ACL 語意正確,驅動程式可以使用[另請參閱] 區段中所列的函式來建立及操作 ACL。

ACL 和 ACE 結構必須對齊 32 位界限。

規格需求

需求
標頭 wdm.h (包含 Wdm.h)

另請參閱

ACCESS_ALLOWED_ACE

ACCESS_DENIED_ACE

Ace

RtlAddAccessAllowedAce

RtlCreateAcl

RtlGetAce

RtlSetDaclSecurityDescriptor

SYSTEM_ALARM_ACE

SYSTEM_AUDIT_ACE

TOKEN_DEFAULT_DACL