ACCESS_ALLOWED_ACE 構造体 (winnt.h)

ACCESS_ALLOWED_ACE構造体は、オブジェクトへのアクセスを制御する随意アクセス制御リスト (DACL) のアクセス制御エントリ (ACE) を定義します。 アクセス許可 ACE を使用すると、セキュリティ識別子 (SID) によって識別される特定のトラスティのオブジェクトにアクセスできます。

構文

typedef struct _ACCESS_ALLOWED_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       SidStart;
} ACCESS_ALLOWED_ACE;

メンバー

Header

ACE の サイズと種類を指定する構造体をACE_HEADERします。 また、子オブジェクトによる ACE の継承を制御するフラグも含まれています。 ACE_HEADER構造体の AceType メンバーをACCESS_ALLOWED_ACE_TYPEに設定し、AceSize メンバーをACCESS_ALLOWED_ACE構造体に割り当てられた合計バイト数に設定する必要があります。

Mask

この ACE によって付与されるアクセス権を指定する ACCESS_MASK 構造体を指定します。

SidStart

トラスティの SID の最初の DWORD 。 SID の残りのバイトは、 SidStart メンバーの後の連続したメモリに格納されます。 この SID には、アプリケーション データを追加できます。

注釈

ACE 構造体は 、DWORD 境界に配置する必要があります。 すべての Windows メモリ管理機能は 、DWORD にアラインされたハンドルをメモリに返します。

Mask メンバーによって指定されたアクセス権は、SidStart メンバーに格納されている SID と一致する有効な SID を所有するすべてのトラスティに付与されます。

ACCESS_ALLOWED_ACE構造体は、AddAccessAllowedAce 関数または AddAccessAllowedAceEx 関数の呼び出しによって、アクセス制御リスト (ACL) 作成できます。 これらの関数を使用すると、トラスティの SID に対応するために必要な正しい量のメモリが割り当てられ、 Header.AceType メンバーと Header.AceSize メンバーの値が自動的に設定されます。 AddAccessAllowedAceEx 関数を使用すると、Header.AceFlags メンバーも設定されます。 ACL の外部にACCESS_ALLOWED_ACE構造体を作成する場合は、SidStart メンバー内のトラスティの完全な SID とそれに続く連続するメモリに対応するために十分なメモリを割り当てる必要があります。また、Header.AceType、Header.AceFlagsHeader.AceSize メンバーの値は、アプリケーションによって明示的に設定する必要があります。

要件

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

こちらもご覧ください

エース

ACL

AddAccessAllowedAce

AddAce

GetAce

SID