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