TreeSetNamedSecurityInfoW

指定したオブジェクトツリーのセキュリティ記述子内の指定したセキュリティ情報を設定する。(Unicode)

TreeSetNamedSecurityInfoW pObjectName, ObjectType, SecurityInfo, pOwner, pGroup, pDacl, pSacl, dwAction, fnProgress, ProgressInvokeSetting, Args

pObjectName : [wstr] セキュリティ情報の更新を受けるオブジェクトのルートノードオブジェクトの名前を指定する null 終端文字列へのポインタ。サポートされるオブジェクトはレジストリキーとファイルオブジェクトである。オブジェクトの種類ごとの文字列形式の説明については、SE_OBJECT_TYPE を参照のこと。
ObjectType : [int] pObjectName パラメータで指定されるオブジェクトの種類を示す SE_OBJECT_TYPE 列挙の値。サポートされる値はレジストリキー用の SE_REGISTRY_KEY およびファイルオブジェクト用の SE_FILE_OBJECT である。
SecurityInfo : [int] 設定するセキュリティ情報の種類を示すビットフラグの集合。このパラメータには SECURITY_INFORMATION ビットフラグの組み合わせを指定できる。
pOwner : [int] オブジェクトの所有者を識別する SID 構造体へのポインタ。SID は、セキュリティ記述子の所有者 SID として割り当て可能なものでなければならない。SecurityInfo パラメータには OWNER_SECURITY_INFORMATION フラグが含まれている必要がある。所有者を設定するには、呼び出し側はルートオブジェクトを含む各オブジェクトに対して WRITE_OWNER アクセス権を持つ必要がある。所有者 SID を設定しない場合、このパラメータは NULL にできる。
pGroup : [int] オブジェクトのプライマリグループを識別する SID 構造体へのポインタ。SecurityInfo パラメータには GROUP_SECURITY_INFORMATION フラグが含まれている必要がある。グループを設定するには、呼び出し側はルートオブジェクトを含む各オブジェクトに対して WRITE_OWNER アクセス権を持つ必要がある。プライマリグループ SID を設定しない場合、このパラメータは NULL にできる。
pDacl : [var] リセットされるオブジェクトの新しい DACL を表すアクセス制御リスト (ACL) 構造体へのポインタ。SecurityInfo パラメータには DACL_SECURITY_INFORMATION フラグが含まれている必要がある。呼び出し側は、ルートオブジェクトを含め、各オブジェクトに対して READ_CONTROL および WRITE_DAC アクセス権を持つ必要がある。DACL を設定しない場合、このパラメータは NULL にできる。
pSacl : [var] リセットされるオブジェクトの新しい SACL を表す ACL 構造体へのポインタ。SecurityInfo パラメータは、SACL_SECURITY_INFORMATION、LABEL_SECURITY_INFORMATION、ATTRIBUTE_SECURITY_INFORMATION、SCOPE_SECURITY_INFORMATION、または BACKUP_SECURITY_INFORMATION のいずれかのフラグを含んでいる必要がある。SACL_SECURITY_INFORMATION または SCOPE_SECURITY_INFORMATION を設定する場合、呼び出し側は SE_SECURITY_NAME 特権を有効にしている必要がある。SACL を設定しない場合、このパラメータは NULL にできる。
dwAction : [int] 
fnProgress : [int] TreeSetNamedSecurityInfo 関数の進捗を追跡するために使用される関数へのポインタ。進捗関数のプロトタイプは次のとおり:
ProgressInvokeSetting : [int] 進捗関数の初期設定を指定する PROG_INVOKE_SETTING 列挙の値。
Args : [intptr] 呼び出し側が指定する進捗関数の引数用の VOID へのポインタ。

(プラグイン / モジュール : advapi32.dll)

解説

指定したオブジェクトツリーのセキュリティ記述子内の指定したセキュリティ情報を設定する。(Unicode)

[戻り値]
関数が成功した場合、関数は ERROR_SUCCESS を返す。関数が失敗した場合、WinError.h で定義されたエラーコードを返す。

[備考]
この関数は NULL の所有者、グループ、DACL、SACL
の設定をサポートしない。呼び出し側が要求された所有者、グループ、DACL、および SACL
の更新をサポートする適切な特権と権限を持っていない場合、どの更新も実行されない。この関数は、dwAction パラメータの値が
TREE_SEC_INFO_SET に設定され、ProgressInvokeSetting パラメータの値が
ProgressInvokePrePostError に設定され、fnProgress パラメータが指す関数がその
pInvokeSetting パラメータの値を ProgressInvokePrePostError に設定する場合の
SetNamedSecurityInfo 関数と同じ機能を提供する。この関数は TreeResetNamedSecurityInfo
関数と類似している:
(以下省略)

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs