ハンドルで指定したオブジェクトのセキュリティ記述子のコピーを取得する。
GetSecurityInfo handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor
handle : [intptr] セキュリティ情報を取得するオブジェクトへのハンドル。 ObjectType : [int] オブジェクトの型を示す SE_OBJECT_TYPE 列挙の値。 SecurityInfo : [int] 取得するセキュリティ情報の種類を示すビット フラグのセット。このパラメータは SECURITY_INFORMATION ビット フラグの組み合わせを指定できる。 ppsidOwner : [var] ppSecurityDescriptor で返されるセキュリティ記述子内の所有者 SID へのポインタを受け取る変数へのポインタ。返されるポインタは OWNER_SECURITY_INFORMATION フラグを設定した場合にのみ有効である。所有者 SID が不要な場合、このパラメータは NULL にできる。 ppsidGroup : [var] 返されるセキュリティ記述子内のプライマリ グループ SID へのポインタを受け取る変数へのポインタ。返されるポインタは GROUP_SECURITY_INFORMATION フラグを設定した場合にのみ有効である。グループ SID が不要な場合、このパラメータは NULL にできる。 ppDacl : [var] 返されるセキュリティ記述子内の DACL へのポインタを受け取る変数へのポインタ。返されるポインタは DACL_SECURITY_INFORMATION フラグを設定した場合にのみ有効である。DACL が不要な場合、このパラメータは NULL にできる。 ppSacl : [var] 返されるセキュリティ記述子内の SACL へのポインタを受け取る変数へのポインタ。返されるポインタは SACL_SECURITY_INFORMATION フラグを設定した場合にのみ有効である。SACL が不要な場合、このパラメータは NULL にできる。 ppSecurityDescriptor : [var] オブジェクトのセキュリティ記述子へのポインタを受け取る変数へのポインタ。ポインタの使用が終わったら、LocalFree 関数を呼び出して返されたバッファを解放する。ppsidOwner、ppsidGroup、ppDacl、または ppSacl のいずれか一つでも NULL でない場合、このパラメータは必須である。
(プラグイン / モジュール : advapi32.dll)
ハンドルで指定したオブジェクトのセキュリティ記述子のコピーを取得する。 [戻り値] 関数が成功した場合、戻り値は ERROR_SUCCESS となる。失敗した場合、戻り値は WinError.h で定義されるゼロ以外のエラーコードとなる。 [備考] ppsidOwner、ppsidGroup、ppDacl、ppSacl パラメータが NULL でなく、SecurityInfo パラメータがそれらをオブジェクトから取得するよう指定している場合、それらのパラメータは ppSecurityDescriptor で返されるセキュリティ記述子内の対応するパラメータを指す。オブジェクトのセキュリティ記述子から所有者、グループ、または DACL を読み取るには、ハンドルを開いたときに呼び出し元プロセスが READ_CONTROL アクセスを付与されている必要がある。READ_CONTROL アクセスを取得するには、呼び出し側がオブジェクトの所有者であるか、オブジェクトの DACL がそのアクセスを許可している必要がある。セキュリティ記述子から SACL を読み取るには、ハンドルを開いたときに呼び出し元プロセスが ACCESS_SYSTEM_SECURITY アクセスを付与されている必要がある。このアクセスを取得する適切な方法は、呼び出し元の現在のトークンで SE_SECURITY_NAME 特権を有効にし、ACCESS_SYSTEM_SECURITY アクセスでハンドルを開き、その後で特権を無効にすることである。特権を有効にすることのセキュリティ上の意味については Running with Special Privileges を参照。GetSecurityInfo 関数は次の種類のオブジェクトで使用できる。 (以下省略)
| プラグイン / モジュール | advapi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_advapi32_gen2.hs |