AddScopedPolicyIDAce 関数 (securitybaseapi.h)

AddScopedPolicyIDAce 関数は、システム アクセス制御リスト (SACL) の末尾に SYSTEM_SCOPED_POLICY_ID_ACEアクセス制御エントリ (ACE) を追加します。 SYSTEM_SCOPED_POLICY_ID_ACE 構造体は、リソースに関連付けられる集約型アクセス ポリシー (CAP) を指定し、アクセス チェック時に使用できます。 標準アクセス権のセットは、「Standard Access Rights」トピックで定義されています。

構文

BOOL AddScopedPolicyIDAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD AccessMask,
  [in]      PSID  pSid
);

パラメーター

[in, out] pAcl

アクセス制御リスト (ACL) へのポインター。 この関数は、この ACL に ACE を追加します。 このパラメーターの値を NULLすることはできません。

[in] dwAceRevision

変更する ACL のリビジョン レベルを指定します。 この値は、ACL_REVISIONまたはACL_REVISION_DSできます。 ACL にオブジェクト固有の ACE が含まれている場合は、ACL_REVISION_DSを使用します。

[in] AceFlags

ACE 継承を制御するビット フラグのセット。 この関数は、新しい ACE の ACE_HEADER 構造体の AceFlags メンバーにこれらのフラグを設定します。

Windows 8 Advanced File Permissions UI との一貫性を保つため、アプリケーションでは、AceFlags パラメーターにCONTAINER_INHERIT_ACEフラグとOBJECT_INHERIT_ACE フラグを指定する必要があります。

このパラメーターには、次の値の組み合わせを指定できます。

価値 意味
CONTAINER_INHERIT_ACE
2 (0x2)
ACE はコンテナー オブジェクトによって継承されます。
INHERIT_ONLY_ACE
8 (0x8)
ACE は ACE が割り当てられているオブジェクトには適用されませんが、子オブジェクトによって継承できます。
INHERITED_ACE
16 (0x10)
継承された ACE を示します。 このフラグを使用すると、オブジェクトツリーのセキュリティを変更する操作は、オブジェクトに直接適用された ACE を変更せず、継承された ACE を変更できます。
NO_PROPAGATE_INHERIT_ACE
4 (0x4)
OBJECT_INHERIT_ACEビットとCONTAINER_INHERIT_ACE ビットは、継承された ACE には反映されません。
OBJECT_INHERIT_ACE
1 (0x1)
ACE は、コンテナー以外のオブジェクトによって継承されます。

[in] AccessMask

Windows 8 および Windows Server 2012 の場合は 0 にする必要があります。

[in] pSid

リソースに関連付ける集約型アクセス ポリシーを識別する SID (S-1-17-*) へのポインター。

戻り値

関数が成功した場合は、TRUE返されます。

関数が失敗した場合は、FALSE返します。 拡張エラー情報を取得するには、GetLastError呼び出します。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2012 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー securitybaseapi.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

Standard Access Rights