GetUserObjectSecurity

指定したユーザーオブジェクトのセキュリティ情報を取得する。

GetUserObjectSecurity hObj, pSIRequested, pSID, nLength, lpnLengthNeeded

hObj : [intptr] セキュリティ情報を返す対象のユーザーオブジェクトへのハンドル。
pSIRequested : [var] 要求するセキュリティ情報を指定する SECURITY_INFORMATION 値へのポインタ。
pSID : [int] 関数終了時に要求情報を含む自己相対形式の SECURITY_DESCRIPTOR 構造体へのポインタ。このバッファは 4 バイト境界にアラインされていなければならない。
nLength : [int] pSD が指すバッファのバイト単位の長さ。
lpnLengthNeeded : [var] 完全なセキュリティ記述子の格納に必要なバイト数を受け取る変数へのポインタ。関数終了時にこの変数の値が nLength より大きい場合、関数は FALSE を返し、セキュリティ記述子はバッファに何もコピーされない。そうでなければ、セキュリティ記述子全体がコピーされる。

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

解説

指定したユーザーオブジェクトのセキュリティ情報を取得する。

[戻り値]
関数が成功した場合、戻り値は非ゼロである。
関数が失敗した場合、戻り値はゼロである。拡張エラー情報を取得するには GetLastError を呼ぶ。

[備考]
ユーザーオブジェクトのセキュリティ記述子から所有者、グループ、または随意アクセス制御リスト(DACL)を読み取るには、ハンドルを開く際に
READ_CONTROL アクセスを付与されている必要がある。システムアクセス制御リスト(SACL)を読み取るには
ACCESS_SYSTEM_SECURITY アクセスが必要である。これを得る正しい方法は、呼び出し元の現在のトークンで
SE_SECURITY_NAME 特権を有効にし、ACCESS_SYSTEM_SECURITY で開き、その後特権を無効にすることである。

情報

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