RegSetValueExW

レジストリキー配下の指定された値のデータとタイプを設定する。(Unicode)

RegSetValueExW hKey, lpValueName, Reserved, dwType, lpData, cbData

hKey : [intptr] オープン中のレジストリキーへのハンドル。KEY_SET_VALUE アクセス権で開かれている必要がある。RegCreateKeyEx 等で取得したもの、または定義済みキーのいずれか。
lpValueName : [wstr] 設定する値の名前。キーにない場合は追加される。NULL または空文字列の場合、キーの名前なし/既定値のタイプとデータを設定する。
Reserved : [int] このパラメータは予約されており 0 でなければならない。
dwType : [int] lpData が指すデータタイプ。指定可能なタイプは Registry Value Types を参照。
lpData : [var] 保存するデータ。REG_SZ のような文字列ベースのタイプでは NULL 終端されていなければならない。REG_MULTI_SZ は 2 つの終端 NULL が必要。NULL 値を示す場合は cbData を 0 にする必要がある。
cbData : [int] lpData が指す情報のサイズ(バイト単位)。REG_SZ、REG_EXPAND_SZ、REG_MULTI_SZ の場合、終端 NULL のサイズを含めなければならない。

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

解説

レジストリキー配下の指定された値のデータとタイプを設定する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は ERROR_SUCCESS。失敗した場合は Winerror.h で定義された 0 以外のエラーコード。

[備考]
値サイズは利用可能メモリに制限されるが、大きな値を保存するとパフォーマンスに影響する。長い値(2,048
バイト超)はファイルとして保存し、レジストリにはパスのみを保存すべきである。アイコン、ビットマップ、実行ファイルなどはファイルとして保存すること。REG_SZ/REG_MULTI_SZ/REG_EXPAND_SZ
で ANSI 版を使う場合、lpData は ANSI 文字列で、レジストリに保存される前に Unicode
に変換される。RegSetKeyValue の方が便利な場合がある。

サンプル逆引き (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