Функция RegReplaceKeyA (winreg.h)
Заменяет файл, который поддерживает раздел реестра и все его подразделы другим файлом, чтобы при следующем запуске системы ключ и вложенные ключи имели значения, хранящиеся в новом файле.
Приложения, которые выполняют резервное копирование или восстановление состояния системы, включая системные файлы и кусты реестра, должны использовать службу теневого копирования томов вместо функций реестра.
Синтаксис
LSTATUS RegReplaceKeyA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[in] LPCSTR lpNewFile,
[in] LPCSTR lpOldFile
);
Параметры
[in] hKey
Дескриптор открытого раздела реестра. Этот дескриптор возвращается функцией
HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
[in, optional] lpSubKey
Имя раздела реестра, подразделы и значения которого должны быть заменены. Если ключ существует, он должен быть подразделом ключа, определяемого параметром hKey. Если подраздел не существует, он создается. Этот параметр может быть NULL.
Если указанный подраздел не является корнем куста, RegReplaceKey проходит по структуре дерева hive до тех пор, пока он не столкнется с корнем hive, то он заменяет содержимое этого куста с содержимым файла данных, указанного lpNewFile.
Дополнительные сведения см. в разделе Ограничения размера элемента реестра.
[in] lpNewFile
Имя файла с сведениями реестра. Этот файл обычно создается с помощью функции RegSaveKey.
[in] lpOldFile
Имя файла, получающего резервную копию сведений реестра, которые заменяются.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS.
Если функция завершается ошибкой, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h. Функцию FormatMessage можно использовать с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения универсального описания ошибки.
Замечания
Существует два разных формата файлов hive реестра. Кусты реестра, созданные в текущих операционных системах, обычно не могут загружаться более ранними.
Файл, указанный параметром lpNewFile, остается открытым до перезапуска системы.
Если hKey является дескриптором, возвращаемым RegConnectRegistry, пути, указанные в lpNewFile и lpOldFile, относятся к удаленному компьютеру.
Вызов должен иметь права SE_RESTORE_NAME и SE_BACKUP_NAME на компьютере, в котором находится реестр. Дополнительные сведения см. в разделе Выполнение с специальными привилегиями.
Заметка
Заголовок winreg.h определяет RegReplaceKey как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winreg.h (включая Windows.h) |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |
См. также
Обзор реестра