RegSaveKeyA 関数 (winreg.h)

指定したキーとそのすべてのサブキーと値を、標準形式で新しいファイルに保存します。

保存したキーまたはハイブの形式を指定するには、 RegSaveKeyEx 関数を使用します。

システム ファイルやレジストリ ハイブを含むシステム状態をバックアップまたは復元するアプリケーションでは、レジストリ関数の代わりに ボリューム シャドウ コピー サービス を使用する必要があります。

構文

LSTATUS RegSaveKeyA(
  [in]           HKEY                        hKey,
  [in]           LPCSTR                      lpFile,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

パラメーター

[in] hKey

開いているレジストリ キーへのハンドル。

このハンドルは、 RegCreateKeyEx または RegOpenKeyEx 関数によって返されます。または、次の 定義済みキーのいずれかを指定できます。

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER

[in] lpFile

指定したキーとサブキーを保存するファイルの名前。 ファイルが既に存在する場合、関数は失敗します。

文字列にパスが含まれていない場合、ファイルはローカル キーの呼び出し元プロセスの現在のディレクトリ、またはリモート キーの %systemroot%\system32 ディレクトリに作成されます。 新しいファイルには archive 属性があります。

[in, optional] lpSecurityAttributes

新しいファイルのセキュリティ記述子を指定する SECURITY_ATTRIBUTES 構造体へのポインター。 lpSecurityAttributesNULL の場合、ファイルは既定のセキュリティ記述子を取得します。 ファイルの既定のセキュリティ記述子の ACL は、その親ディレクトリから継承されます。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。

関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用すると、エラーの一般的な説明を取得できます。

ファイルが既に存在する場合、関数は ERROR_ALREADY_EXISTS エラーで失敗します。

解説

hKey がリモート コンピューター上のキーを表す場合、lpFile によって記述されるパスはリモート コンピューターに対する相対パスです。

RegSaveKey 関数は、不揮発性キーのみを保存します。 揮発性キーは保存されません。 キーは、作成時に揮発性または不揮発性になります。 RegCreateKeyEx を参照してください。

RegSaveKey によって作成されたファイルは、RegLoadKey、RegReplaceKey、または RegRestoreKey 関数の後続の呼び出し使用できます。 RegSaveKey が操作の途中で失敗した場合、ファイルは破損し、そのファイルの RegLoadKeyRegReplaceKey、または RegRestoreKey の後続の呼び出しは失敗します。

RegSaveKey をRegRestoreKey と共に使用してレジストリ内のサブツリーをコピーすることはお勧めしません。 このメソッドは通知をトリガーせず、他のアプリケーションで使用されるハンドルを無効にすることができます。 代わりに、 SHCopyKey 関数または RegCopyTree 関数を使用します。

呼び出し元のプロセスでは、SE_BACKUP_NAME特権が有効になっている必要があります。 詳細については、「特別な特権を使用して実行する」を参照してください。

Note

winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegSaveKey を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winreg.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

関連項目

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

レジストリ ファイル

レジストリ関数

SECURITY_ATTRIBUTES