RegReplaceKeyA 関数 (winreg.h)
レジストリ キーとそのすべてのサブキーをバックアップするファイルを別のファイルに置き換え、システムの次回起動時にキーとサブキーの値が新しいファイルに格納されるようにします。
システム ファイルやレジストリ ハイブを含むシステム状態をバックアップまたは復元するアプリケーションでは、レジストリ関数の代わりに ボリューム シャドウ コピー サービス を使用する必要があります。
構文
LSTATUS RegReplaceKeyA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[in] LPCSTR lpNewFile,
[in] LPCSTR lpOldFile
);
パラメーター
[in] hKey
開いているレジストリ キーへのハンドル。 このハンドルは、 RegCreateKeyEx または RegOpenKeyEx 関数によって返されます。または、次の 定義済みキーのいずれかを指定できます。
HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
[in, optional] lpSubKey
サブキーと値を置き換えるレジストリ キーの名前。 キーが存在する場合は、 hKey パラメーターで識別されるキーのサブキーである必要があります。 サブキーが存在しない場合は、作成されます。 このパラメーターは、NULL でもかまいません。
指定したサブキーが Hive のルートではない場合、 RegReplaceKey は Hive ルートを検出するまでハイブ ツリー構造を走査し、そのハイブの内容を lpNewFile で指定されたデータ ファイルの内容に置き換えます。
詳細については、「 レジストリ要素のサイズ制限」を参照してください。
[in] lpNewFile
レジストリ情報を含むファイルの名前。 このファイルは通常、 RegSaveKey 関数を使用して作成されます。
[in] lpOldFile
置き換えられるレジストリ情報のバックアップ コピーを受け取るファイルの名前。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS です。
関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用すると、エラーの一般的な説明を取得できます。
注釈
2 つの異なるレジストリ ハイブ ファイル形式があります。 現在のオペレーティング システムで作成されたレジストリ ハイブは、通常、以前のオペレーティング システムでは読み込めません。
lpNewFile パラメーターで指定されたファイルは、システムが再起動されるまで開いたままです。
hKey が RegConnectRegistry によって返されるハンドルの場合、lpNewFile と lpOldFile で指定されたパスはリモート コンピューターに対して相対的です。
呼び出し元のプロセスには、レジストリが存在するコンピューターに対するSE_RESTORE_NAMEとSE_BACKUP_NAMEの特権が必要です。 詳細については、「特別な特権を使用して実行する」を参照してください。
注意
winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegReplaceKey を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winreg.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |