SetSecurityDescriptorSacl 関数 (securitybaseapi.h)

SetSecurityDescriptorSacl 関数は、システム アクセス制御リスト (SACL) の情報を設定します。 セキュリティ記述子に SACL が既に存在する場合は、置き換えられます。

構文

BOOL SetSecurityDescriptorSacl(
  [in, out]      PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]           BOOL                 bSaclPresent,
  [in, optional] PACL                 pSacl,
  [in]           BOOL                 bSaclDefaulted
);

パラメーター

[in, out] pSecurityDescriptor

関数が SACL を追加する SECURITY_DESCRIPTOR 構造体へのポインター。 このセキュリティ記述子は絶対形式である必要があります。つまり、そのメンバーは、連続するデータへのオフセットではなく、他の構造体へのポインターである必要があります。

[in] bSaclPresent

セキュリティ記述子に SACL が存在していることを示します。 このパラメーターが TRUE の場合、関数は SECURITY_DESCRIPTOR_CONTROL 構造体に SE_SACL_PRESENT フラグを設定し、pSacl パラメーターと bSaclDefaulted パラメーターの値を使用します。 FALSE の場合、関数は SE_SACL_PRESENT フラグを設定せず、pSaclbSaclDefaulted は無視されます。

[in, optional] pSacl

セキュリティ記述子の SACL を指定する ACL 構造体へのポインター。 このパラメーターが NULL の場合、 NULL SACL がセキュリティ記述子に割り当てられます。 SACL は、セキュリティ記述子によって参照され、コピーされません。

[in] bSaclDefaulted

SACL のソースを示します。 このフラグが TRUE の場合、SACL は既定のメカニズムによって取得されています。 FALSE の場合、SACL はユーザーによって明示的に指定されています。 関数は、この値を SECURITY_DESCRIPTOR_CONTROL構造体の SE_SACL_DEFAULTED フラグに格納します。 このパラメーターが指定されていない場合は、SE_SACL_DEFAULTED フラグがクリアされます。

戻り値

関数が成功した場合、関数は 0 以外の値を返します。

関数が失敗すると、0 が返されます。 詳細なエラー情報を得るには、GetLastError を呼び出します。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー securitybaseapi.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

ACL

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

低レベルのAccess Control

低レベルのAccess Control関数

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl

SetSecurityDescriptorGroup

SetSecurityDescriptorOwner