TreeResetNamedSecurityInfoW

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

TreeResetNamedSecurityInfoW pObjectName, ObjectType, SecurityInfo, pOwner, pGroup, pDacl, pSacl, KeepExplicit, 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 にできる。
KeepExplicit : [int] サブツリーに対して明示的に定義された ACE を保持するか削除するかを定義するブール値。KeepExplicit が TRUE の場合、各サブツリーの DACL および SACL について明示的に定義された ACE は保持され、継承された ACE は pDacl および pSacl から継承された ACE で置き換えられる。KeepExplicit が FALSE の場合、各サブツリーの DACL および SACL について明示的に定義された ACE は、継承された ACE が pDacl および pSacl からの継承された ACE で置き換えられる前に削除される。
fnProgress : [int] TreeResetNamedSecurityInfo 関数の進捗を追跡するために使用される関数へのポインタ。進捗関数のプロトタイプは次のとおり:
ProgressInvokeSetting : [int] 進捗関数の初期設定を指定する PROG_INVOKE_SETTING 列挙の値。
Args : [intptr] 呼び出し側が指定する進捗関数の引数用の VOID へのポインタ。

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

解説

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

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

[備考]
この関数は NULL の所有者、グループ、DACL、SACL
の設定をサポートしない。呼び出し側が要求された所有者、グループ、DACL、および SACL
の更新をサポートする適切な特権と権限を持っていない場合、どの更新も実行されない。この関数は
TreeSetNamedSecurityInfo 関数と類似している:
(以下省略)

情報

プラグイン / モジュール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