次の方法で共有


BuildExplicitAccessWithNameA 関数 (aclapi.h)

BuildExplicitAccessWithName 関数は、呼び出し元によって指定されたデータを使用して EXPLICIT_ACCESS 構造体を初期化します。 トラスティは名前文字列で識別されます。

構文

void BuildExplicitAccessWithNameA(
  [in, out]      PEXPLICIT_ACCESS_A pExplicitAccess,
  [in, optional] LPSTR              pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

パラメーター

[in, out] pExplicitAccess

初期化する EXPLICIT_ACCESS 構造体へのポインター。 BuildExplicitAccessWithName 関数はメモリを割り当てません。 このパラメーターは NULLできません。

[in, optional] pTrusteeName

のトラスティ 構造体の ptstrName メンバーのトラスティの名前を含む、null-terminated 文字列へのポインター。 BuildExplicitAccessWithName 関数は、のトラスティ 構造体の他のメンバーを次のように設定します。

価値 意味
pMultipleTrustee を する
NULL
MultipleTrusteeOperation の
NO_MULTIPLE_TRUSTEE
トラスティ フォーム
TRUSTEE_IS_NAME
トラスティタイプ
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

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

[in] AccessMode

EXPLICIT_ACCESS 構造体の grfAccessMode メンバーのアクセス モードを指定します。 アクセス モードは、アクセス制御エントリ (ACE) が、指定された権限を許可、拒否、または監査するかどうかを示します。 随意アクセス制御リスト (DACL) の場合、このパラメーターには、ACCESS_MODE 列挙体の値のいずれかを指定できます。 システム アクセス制御リスト (SACL) の場合、このパラメーターは ACCESS_MODE 値の組み合わせにすることができます。

[in] Inheritance

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

価値 意味
CONTAINER_INHERIT_ACE
プライマリ オブジェクトに含まれる他のコンテナーは、ACE を継承します。
INHERIT_ONLY_ACE
ACE は ACL がアタッチされているプライマリ オブジェクトには適用されませんが、プライマリ オブジェクトに含まれるオブジェクトは ACE を継承します。
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 フラグと INHERIT_ONLY_ACE フラグの組み合わせに対応します。
SUB_OBJECTS_ONLY_INHERIT
プライマリ オブジェクトに含まれる非コンテナー オブジェクトは ACE を継承します。 このフラグは、OBJECT_INHERIT_ACE フラグと INHERIT_ONLY_ACE フラグの組み合わせに対応します。

戻り値

何一つ

備考

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー aclapi.h
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

ACE

ACL

アクセス制御の概要

基本的なアクセス制御関数の

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl の

SetEntriesInAcl

トラスティ