RegQueryValueExW

オープンレジストリキーに関連付けられた指定された値名のタイプとデータを取得する。(Unicode)

RegQueryValueExW hKey, lpValueName, lpReserved, lpType, lpData, lpcbData

hKey : [intptr] オープン中のレジストリキーへのハンドル。KEY_QUERY_VALUE アクセス権で開かれている必要がある。
lpValueName : [wstr] レジストリ値の名前。
lpReserved : [var] このパラメータは予約されており NULL でなければならない。
lpType : [var] 指定された値に格納されているデータタイプを示すコードを受け取る変数へのポインタ。タイプコードが不要なら NULL 可。
lpData : [var] 値のデータを受け取るバッファへのポインタ。データが不要なら NULL 可。
lpcbData : [var] lpData が指すバッファのサイズ(バイト単位)を指定する変数へのポインタ。関数が戻ると、コピーされたデータサイズが格納される。

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

解説

オープンレジストリキーに関連付けられた指定された値名のタイプとデータを取得する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は ERROR_SUCCESS。失敗した場合はシステムエラーコード。lpData バッファが小さすぎる場合は
ERROR_MORE_DATA。指定された値が存在しない場合は ERROR_FILE_NOT_FOUND。

[備考]
通常、アプリケーションは RegEnumValue で値名を決定した後、RegQueryValueEx
でデータを取得する。REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ の場合、文字列が正しく NULL
終端されていない可能性があるため、使用前に確認する(REG_MULTI_SZ は 2 つの終端 NULL が必要)。RegGetValue
は必要に応じて NULL 終端を追加する。ANSI 版を使う場合、内部格納の Unicode 文字列を ANSI
に変換してからコピーする。HKEY_PERFORMANCE_DATA
を照会すると、要求していないオブジェクトが返されることがある(通常動作)。

サンプル逆引き (1)

reg_edit.hsp

情報

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