ACL 構造体 (winnt.h)

ACL 構造体は、アクセス制御リスト (ACL) のヘッダーです。 完全な ACL は、 ACL 構造の後に、0 個以上の アクセス制御エントリ (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

AclRevision メンバーを 16 ビット境界に配置するパディングの 0 バイトを指定します。

AclSize

ACL のサイズをバイト単位で指定します。 この値には、 ACL 構造体、すべての ACE、および未使用の可能性があるメモリが含まれます。

AceCount

ACL に格納されている ACE の数を指定します。

Sbz2

ACL 構造体を 32 ビット境界に合わせる 2 つの 0 バイトのパディングを指定します。

注釈

ACL には、0 個以上の ACE のシーケンシャル リストが含まれています。 ACL 内の個々の ACE には 0 から n の番号が付けられます。 n+1 は ACL 内の ACE の数です。 ACL を編集する場合、アプリケーションは ACE のインデックスによって ACL 内の ACE を参照します。

ACL には、随意とシステムの 2 種類があります。

随意アクセス制御リスト (DACL) は、オブジェクトの所有者、またはオブジェクトへのアクセスWRITE_DAC許可されたユーザーによって制御されます。 特定のユーザーおよびグループがオブジェクトに対して持つことができるアクセス権を指定します。 たとえば、ファイルの所有者は DACL を使用して、ファイルにアクセスできるユーザーとグループを制御できます。

オブジェクトには、システム管理者によって制御される システム アクセス制御リスト (SACL) の形式で、システム レベルのセキュリティ情報を関連付けることもできます。 SACL を使用すると、システム管理者はオブジェクトへのアクセスの試行を監査できます。

現在定義されている ACE 構造体の一覧については、「 ACE」を参照してください。

現在、4 つ目の ACE 構造体 (SYSTEM_ALARM_ACE) はサポートされていません。

ACL 構造体は不透明であるかのように扱われ、アプリケーションはそのメンバーを直接操作しようとはしません。 ACL が意味的に正しいことを確認するために、アプリケーションは「関連項目」セクションに記載されている関数を使用して ACL を作成および操作できます。

ACLACE 構造体は 、DWORD 境界で始まります。

ACL の最大サイズ (ACE を含む) は 64 KB です。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winnt.h (Windows.h を含む)

こちらもご覧ください

AddAce

DeleteAce

GetAclInformation

GetSecurityDescriptorDacl

GetSecurityDescriptorSacl

InitializeAcl

IsValidAcl

SetAclInformation

SetSecurityDescriptorDacl

SetSecurityDescriptorSacl