ACL 構造体 (wdm.h)
ACL 構造体は、アクセス制御リスト (ACL) のヘッダーです。 完全な ACL は、ACL 構造の後に、0 個以上のアクセス制御エントリ (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
AclRevision メンバーを 16 ビット境界にアラインするパディングの 0 バイト。
AclSize
ACL のサイズ (バイト単位)。 この値には、ACL 構造体とすべての ACE の両方が含まれます。
AceCount
ACL に格納されている ACE の数。
Sbz2
32 ビット境界で ACL 構造体をアラインする 2 つのゼロ バイトのパディング。
注釈
ACL には、0 個以上の ACE のシーケンシャル リストが含まれています。 ACL 内の個々の ACE には 0 から n の番号が付けられます。 n+1 は ACL 内の ACE の数です。 ACL を編集する場合、ドライバーは ACL 内の ACE をインデックスで参照します。
ACL には、随意とシステムの 2 種類があります。
随意 ACL (DACL) は、オブジェクトの所有者、またはオブジェクトへのアクセスを許可されたユーザー WRITE_DAC制御されます。 特定のユーザーおよびグループがオブジェクトに対して持つことができるアクセス権を指定します。 たとえば、ファイルの所有者は DACL を使用して、ファイルにアクセスできるユーザーとグループを制御できます。
オブジェクトには、システム管理者によって制御されるシステム ACL (SACL) の形式で、システム レベルのセキュリティ情報が関連付けられている場合もあります。 SACL を使用すると、システム管理者はオブジェクトへのアクセスの試行を監査できます。
現在、3 つの ACE 構造体が定義されています。
属性 | 説明 |
---|---|
ACCESS_ALLOWED_ACE | 指定した権限をユーザーまたはグループに付与します。 この ACE は DACL に格納されます。 |
ACCESS_DENIED_ACE | ユーザーまたはグループに対する指定された権限を拒否します。 この ACE は DACL に格納されます。 |
SYSTEM_AUDIT_ACE | システム レベルの監査の原因となるアクセスの種類を指定します。 この ACE は SACL に格納されます。 |
現在、4 つ目の ACE 構造体 (SYSTEM_ALARM_ACE) はサポートされていません。
ACL 構造体は不透明であるかのように扱われるため、ドライバーはメンバーを直接操作しないようにする必要があります。 ACL が意味的に正しいことを確認するために、ドライバーは「関連項目」セクションに記載されている関数を使用して ACL を作成および操作できます。
ACL および ACE 構造体は、32 ビット境界に配置する必要があります。
要件
要件 | 値 |
---|---|
Header | wdm.h (Wdm.h を含む) |