<Return[R]><Top>

RegLoadKey

Declare Function Api_RegLoadKey& Lib "advapi32" Alias "RegLoadKeyA" (ByVal hKey&, ByVal lpSubKey$, ByVal lpFile$)

Declare Function RegLoadKey Lib "advapi32" Alias "RegLoadKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpFile As String) As Long

HKEY_USER または HKEY_LOCAL_MACHINE の下にサブキーを作成し、指定されたファイル内の登録情報をそのサブキーに格納する。この登録情報は、ハイブ形式で指定しておく。ハイブとは、レジストリのツリー構造のルートのすぐ下にある HKEY_USER などの枝の総称であり、この中にキー、サブキー、レジストリエントリという個別のオブジェクトが存在している。ハイブには、1 つの行と 1 個の .LOG ファイルが対応している。

パラメータ
hKey
    サブキーの作成先となるキーを指定する。予約済みハンドルの値か、RegConnectRegistry 関数が返したハンドルを指定できる。予約済み

    のハンドルの値は、次のとおりである。
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    この関数は常に、レジストリ階層の最上位に情報をロードする。HKEY_CLASSES_ROOT と HKEY_CURRENT_USER の各ハンドル値

    は、hKey パラメータでは指定できない。これらはそれぞれ、HKEY_LOCAL_MACHINE と HKEY_USERS のハンドル値のサブセットだ

    からである。
lpSubKey
    hKey パラメータで指定したキーの下に作成されるサブキーの名前を保持している、NULL で終わる文字列へのポインタを指定する。このサ

    ブキーに、ファイル内の登録情報がロード(格納)される。
lpFile
    登録情報を保持しているファイルの名前を表す、NULL で終わる文字列へのポインタを指定する。このファイルは、RegSaveKey 関数を使

    って作成したものでなければならない。このファイルが存在していない場合、RegLoadKey 関数は、指定された名前のファイルを作成する。
    Windows 95:RegLoadKey 関数は長いファイル名をサポートしていない。長いファイル名のファイルを使う必要がある場合、そのファイルに

    対応する短いファイル名を使ってロードする。

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

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

解説
    hKey パラメータで、RegConnectRegistry 関数が返したハンドルを指定した場合、lpFile パラメータで指定されたパスは、リモートコンピュー

    タを基準とする相対パスである。
    Windows NT/2000:呼び出し元のプロセスに、SE_RESTORE_NAME 特権を割り当てておかなければならない。
    Windows 95/98:レジストリのサブキー名、およびレジストリエントリ名の長さは、最大 255 文字である。
    レジストリエディタ(Regedt32.exe または Regedit.exe)は、ここで言う「レジストリエントリ」を「値」と呼んでいる。どちらも同じものを意味して

    いて、「名前」(レジストリエントリ名)と「データ」(レジストリエントリのデータ)で構成されている。