次の方法で共有


EXPLICIT_ACCESS_A構造体 (accctrl.h)

EXPLICIT_ACCESS 構造体は、指定されたトラスティのアクセス制御情報を定義します。 SetEntriesInAcl や GetExplicitEntriesFromAclなどのアクセス制御関数は、この構造体を使用して、アクセス制御リスト (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 [デスクトップ アプリのみ]
ヘッダー accctrl.h

関連項目

ACCESS_MASK

ACCESS_MODE

ACE

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl の

LookupSecurityDescriptorParts

SetEntriesInAcl

トラスティ