AddResourceAttributeAce 関数 (securitybaseapi.h)

AddResourceAttributeAce 関数は、システム アクセス制御リスト (SACL) の末尾に SYSTEM_RESOURCE_ATTRIBUTE_ACEアクセス制御エントリ (ACE) を追加します。 SYSTEM_RESOURCE_ATTRIBUTE_ACE 構造体は、リソースに関連付けられている要素の属性名と値順リストを指定し、アクセス チェック時に使用される可能性があります。 標準アクセス権のセットは、「Standard Access Rights」トピックで定義されています。

構文

BOOL AddResourceAttributeAce(
  [in, out] PACL                                   pAcl,
  [in]      DWORD                                  dwAceRevision,
  [in]      DWORD                                  AceFlags,
  [in]      DWORD                                  AccessMask,
  [in]      PSID                                   pSid,
  [in]      PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo,
  [out]     PDWORD                                 pReturnLength
);

パラメーター

[in, out] pAcl

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

[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

Windows 8 および Windows Server 2012 の Everyone SID (S-1-1-0) である必要があります。

[in] pAttributeInfo

ACE の SID の後に追加される属性情報を指定します。

[out] pReturnLength

実際に使用される ACL バッファーのサイズ (バイト単位)。 pAcl パラメーターで指定されたバッファーが十分な大きさでない場合、このパラメーターの値は ACL バッファーに必要な合計サイズです。

戻り値

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

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

必要条件

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

関連項目

Standard Access Rights