<Return[R]><Top>

RegSetValueEx

Declare Function Api_RegSetValueEx& Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey&, ByVal lpValueName$, ByVal Reserved&, ByVal dwType&, lpData As Any, ByVal cbData&)

Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, szData As Any, ByVal cbData As Long) As Long

指定されたレジストリキーに所属する、指定された 1 つのレジストリエントリのデータとデータ型を設定する。

パラメータ
hKey
    現在開いているキーのハンドルを指定する。

    代わりに、あらかじめ定義されている次の予約済みハンドルのいずれかを指定することもできる。
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_CONFIG
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    Windows NT/2000:HKEY_PERFORMANCE_DATA も指定できる。
    Windows 95/98:HKEY_DYN_DATA も指定できる。
lpValueName
    設定するべきレジストリエントリの名前を保持している、NULL で終わる文字列へのポインタを指定する。

    この名前のレジストリエントリがキー内存在していない場合、この関数はそのレジストリエントリを新しくキーに追加する。
    lpValueName パラメータで NULL または空の文字列を指定した場合、この関数は、レジストリエントリを作成し、名前なしの値

   (<No Name>、日本語版では <名前なし>)または「(標準)」のデータ型とデータを設定する。
    Windows 95/98:Windows 95 では、既定のデータ型は必ず REG_SZ になっている。そのため、名前なしのレジストリエントリを作成する

    場合、dwType パラメータで REG_SZ を指定しなければならない。Windows 98 では、キー内の既定のレジストリエントリのデータ型は、最

    初は REG_SZ ですが、RegSetValueEx 関数を使うと、既定のレジストリエントリに他のデータ型を割り当てるよう指定することもできる。
    Windows NT/2000:キーには <名前なし> や既定のレジストリエントリは存在しない。名前なしのレジストリエントリを作成した場合、任意

    のデータ型を割り当てることができる。
Reserved
    予約されている。0 を指定する。
dwType
    lpData パラメータが指すデータの型を指定する。
lpData
    指定したレジストリエントリに割り当てるべきデータを保持している、1 個のバッファへのポインタを指定する。
    Windows 95:REG_SZ のような文字型のレジストリエントリでは、RegSetValueEx 関数は文字列の最後に NULL を自動的に追加する。
    Windows NT:文字型のレジストリエントリを作成する場合でも、RegSetValueEx 関数は文字列の最後に NULL を自動的に追加しな

    い。
cbData
    lpData パラメータが指す情報のサイズを、バイト単位で指定する。データの種類が REG_SZ、REG_EXPAND_SZ、REG_MULTI_SZ の

    いずれかである場合、cbData パラメータで終端の NULL のサイズも含めなければならない。
    Windows 95:lpData パラメータで指定した文字列の最後には、NULL が自動的に追加されるが、この NULL もサイズに含める。
    Windows NT:cbData パラメータでは、lpData パラメータで指定した文字列の正確な長さを指定する。

戻り値
    関数が成功すると、ERROR_SUCCESS が返る。
    関数が失敗すると、Winerror.h ヘッダーファイル内で定義されている、0 以外のエラーコードが返る。

    FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して FormatMessage 関数を呼び出すと、エラーの一般的な説明を取得できる。