EXPLICIT_ACCESS_A 構造体 (accctrl.h)

EXPLICIT_ACCESS構造体は、指定されたトラスティのアクセス制御情報を定義します。 SetEntriesInAclGetExplicitEntriesFromAcl などのアクセス制御関数は、この構造体を使用して、アクセス制御リスト (ACL) のアクセス制御エントリ (ACE) 内の情報を記述します。

構文

typedef struct _EXPLICIT_ACCESS_A {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_A   Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;

メンバー

grfAccessPermissions

ACE がトラスティに対して許可、拒否、または監査するアクセス権を指定するために、 ACCESS_MASK 形式を使用するビット フラグのセット。 EXPLICIT_ACCESS構造体を使用する関数は、このマスク内のビットの変換、解釈、検証を行いません。

grfAccessMode

ACCESS_MODE 列挙体の値。 随意アクセス制御リスト (DACL) の場合、このフラグは、ACL が指定されたアクセス権を許可または拒否するかどうかを示します。 システム アクセス制御リスト (SACL) の場合、このフラグは、指定されたアクセス権の使用が成功したか、失敗したか、またはその両方について、ACL が監査メッセージを生成するかどうかを示します。 既存の ACL を変更する場合は、REVOKE_ACCESS フラグを指定して、指定したトラスティの既存の ACE を削除できます。

grfInheritance

ACL がアタッチされているプライマリ オブジェクトから他のコンテナーまたはオブジェクトが ACE を継承できるかどうかを決定するビット フラグのセット。 このメンバーの値は、ACE_HEADER構造体の AceFlags メンバーの継承部分 (下位バイト) に対応します。 このパラメーターは、ACE が継承できないことを示すためにNO_INHERITANCEできます。または、次の値の組み合わせを指定できます。

意味
CONTAINER_INHERIT_ACE
プライマリ オブジェクトに含まれる他のコンテナーは、ACE を継承します。
INHERIT_NO_PROPAGATE
継承しますが、伝達されません。
INHERIT_ONLY
継承のみ。
INHERIT_ONLY_ACE
ACE は ACL がアタッチされているプライマリ オブジェクトには適用されませんが、プライマリ オブジェクトに含まれるオブジェクトは ACE を継承します。
NO_INHERITANCE
継承しないでください。
NO_PROPAGATE_INHERIT_ACE
OBJECT_INHERIT_ACEフラグとCONTAINER_INHERIT_ACE フラグは、継承された ACE には反映されません。
OBJECT_INHERIT_ACE
プライマリ オブジェクトに含まれる非コンテナー オブジェクトは ACE を継承します。
SUB_CONTAINERS_AND_OBJECTS_INHERIT
プライマリ オブジェクトに含まれるコンテナーオブジェクトと非コンテナー オブジェクトの両方が ACE を継承します。 このフラグは、CONTAINER_INHERIT_ACEフラグとOBJECT_INHERIT_ACE フラグの組み合わせに対応します。
SUB_CONTAINERS_ONLY_INHERIT
プライマリ オブジェクトに含まれる他のコンテナーは、ACE を継承します。 このフラグは、CONTAINER_INHERIT_ACE フラグに対応します。
SUB_OBJECTS_ONLY_INHERIT
プライマリ オブジェクトに含まれる非コンテナー オブジェクトは ACE を継承します。 このフラグは、OBJECT_INHERIT_ACE フラグに対応します。

Trustee

ACE が適用されるユーザー、グループ、またはプログラム (Windows サービスなど) を識別する トラスティ 構造体。

注釈

注意

accctrl.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてEXPLICIT_ACCESS_を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

こちらもご覧ください

ACCESS_MASK

ACCESS_MODE

エース

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

トラスティ