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