レジストリ ファイル
アプリケーションでは、レジストリの一部をファイルに保存し、ファイルの内容をレジストリに読み込み直すことができます。 レジストリ ファイルは、大量のデータが操作されている場合、レジストリで多数のエントリが作成されている場合、またはデータが推移的であり、再度読み込んでアンロードする必要がある場合に便利です。 レジストリの一部をバックアップおよび復元するアプリケーションでは、レジストリ ファイルを使用する可能性があります。
キーとそのサブキーと値をレジストリ ファイルに保存するには、アプリケーションで RegSaveKey または RegSaveKeyEx 関数を呼び出します。
RegSaveKey と RegSaveKeyEx は 、archive 属性を使用してファイルを作成します。 ファイルは、ローカル キーのプロセスの現在のディレクトリと、リモート キーの %systemroot%\system32 ディレクトリに作成されます。
レジストリ ファイルには、標準と最新の 2 つの形式があります。 標準形式は、Windows 2000 でサポートされている唯一の形式です。 また、下位互換性のために、新しいバージョンの Windows でもサポートされています。 RegSaveKey は 、標準形式のファイルを作成します。
最新の形式は、Windows XP 以降でサポートされています。 この形式で作成されたレジストリ ファイルは、Windows 2000 では読み込めません。 RegSaveKeyEx では、REG_STANDARD_FORMATまたはREG_LATEST_FORMATを指定することで、レジストリ ファイルをいずれかの形式で保存できます。 したがって、標準形式を使用するレジストリ ファイルを最新の形式に変換するために使用できます。
レジストリ ファイルをレジストリに書き戻すには、アプリケーションで RegLoadKey、RegReplaceKey、または RegRestoreKey 関数を次のように使用できます。
- RegLoadKey は、指定したファイルから、呼び出し元のアプリケーションのコンピューターまたはリモート コンピューター上 のHKEY_USERS または HKEY_LOCAL_MACHINE の下の指定したサブキーにレジストリ データを読み込みます。 指定したサブキーがまだ存在しない場合は、この関数によって作成されます。 この関数を呼び出した後、アプリケーションは RegUnLoadKey 関数を使用してレジストリを以前の状態に復元できます。
- RegReplaceKey は、 レジストリ内のキーとそのすべてのサブキーと値を、指定されたファイルに含まれるデータに置き換えます。 新しいデータは、次回システムが開始されるときに有効になります。
- RegRestoreKey は 、指定したファイルから、呼び出し元のアプリケーションのコンピューターまたはリモート コンピューター上の指定したキーにレジストリ データを読み込みます。 この関数は、指定したキーの下にあるサブキーと値を、ファイル内の最上位のキーに続くサブキーと値に置き換えます。
RegConnectRegistry 関数は、別のコンピューター上の定義済みのレジストリ ハンドルへの接続を確立します。 アプリケーションでは、主にこの関数を使用して、ネットワーク環境内の他のマシン上のリモート レジストリから情報にアクセスします。これは、レジストリ エディターを使用して行うこともできます。 リモート レジストリにアクセスしてレジストリをバックアップしたり、レジストリへのネットワーク アクセスを制御したりすることもできます。 この関数を使用してリモート レジストリにアクセスするには、適切なアクセス許可が必要であることに注意してください。