RegQueryInfoKeyW

指定されたレジストリキーに関する情報を取得する。(Unicode)

RegQueryInfoKeyW hKey, lpClass, lpcchClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime

hKey : [intptr] オープン中のレジストリキーへのハンドル。KEY_QUERY_VALUE アクセス権で開かれている必要がある。
lpClass : [wstr] キーのユーザー定義クラスを受け取るバッファへのポインタ。NULL を指定可能。
lpcchClass : [var] lpClass バッファのサイズ(終端 NULL を含む文字数)を指定する変数へのポインタ。関数が戻ると、バッファに格納されたクラス文字列のサイズ(終端 NULL を含まない)が格納される。バッファが小さければ ERROR_MORE_DATA を返す。
lpReserved : [var] このパラメータは予約されており NULL でなければならない。
lpcSubKeys : [var] 指定されたキーが含むサブキーの数を受け取る変数へのポインタ。NULL を指定可能。
lpcbMaxSubKeyLen : [var] キーのサブキーの最も長い名前のサイズ(終端 NULL を含まない Unicode 文字数)を受け取る変数へのポインタ。NULL を指定可能。
lpcbMaxClassLen : [var] サブキークラスを指定する最も長い文字列のサイズ(終端 NULL を含まない Unicode 文字数)を受け取る変数へのポインタ。NULL を指定可能。
lpcValues : [var] キーに関連付けられた値の数を受け取る変数へのポインタ。NULL を指定可能。
lpcbMaxValueNameLen : [var] キーの最も長い値名のサイズ(終端 NULL を含まない Unicode 文字数)を受け取る変数へのポインタ。NULL を指定可能。
lpcbMaxValueLen : [var] キーの値の中で最も長いデータコンポーネントのサイズ(バイト単位)を受け取る変数へのポインタ。NULL を指定可能。
lpcbSecurityDescriptor : [var] キーのセキュリティ記述子のサイズ(バイト単位)を受け取る変数へのポインタ。NULL を指定可能。
lpftLastWriteTime : [var] 最終書き込み時刻を受け取る FILETIME 構造体へのポインタ。NULL を指定可能。

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

解説

指定されたレジストリキーに関する情報を取得する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は ERROR_SUCCESS。失敗した場合はシステムエラーコード。lpClass
バッファがクラス名を受け取るには小さすぎる場合は ERROR_MORE_DATA。

[備考]
winreg.h ヘッダは RegQueryInfoKey を UNICODE プリプロセッサ定数に基づく ANSI/Unicode
版のエイリアスとして定義する。

情報

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