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

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー accctrl.h

こちらもご覧ください

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

トラスティ