Функция RegRestoreKeyA (winreg.h)
Считывает сведения реестра в указанном файле и копирует их по указанному разделу. Эти сведения реестра могут быть в виде раздела и нескольких уровней подразделов.
Приложения, которые выполняют резервное копирование или восстановление состояния системы, включая системные файлы и кусты реестра, должны использовать службу теневого копирования томов вместо функций реестра.
Синтаксис
LSTATUS RegRestoreKeyA(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in] DWORD dwFlags
);
Параметры
[in] hKey
Дескриптор открытого раздела реестра. Этот дескриптор возвращается функцией RegCreateKeyEx или RegOpenKeyEx . Это также может быть один из следующих предопределенных ключей:
HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Любая информация, содержащаяся в этом ключе и его дочерних ключах, перезаписывается данными в файле, на которые указывает параметр lpFile .
[in] lpFile
Имя файла с данными реестра. Этот файл обычно создается с помощью функции RegSaveKey .
[in] dwFlags
Флаги, указывающие способ восстановления ключа или ключей. Этот параметр может принимать одно из указанных ниже значений.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой код ошибки, отличный от нуля, определенный в Winerror.h. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM.
Комментарии
Существует два разных формата файлов hive реестра. Кусты реестра, созданные в текущих операционных системах, обычно не могут быть загружены более ранними.
Если открыты какие-либо подразделы параметра hKey , regRestoreKey завершается ошибкой .
Вызывающий процесс должен иметь права SE_RESTORE_NAME и SE_BACKUP_NAME на компьютере, на котором находится реестр. Дополнительные сведения см. в разделе Выполнение с особыми привилегиями.
Эта функция заменяет ключи и значения ниже указанного ключа ключами и значениями, которые являются дочерними ключом верхнего уровня в файле, независимо от имени ключа верхнего уровня в файле. Например, hKey может идентифицировать ключ A с подразделами B и C, а параметр lpFile указывает файл, содержащий ключ X с подразделами Y и Z. После вызова RegRestoreKey реестр будет содержать раздел A с подразделами Y и Z. Записи значений A будут заменены записями значений X.
Новые сведения в файле, указанном lpFile , перезаписывают содержимое ключа, заданного параметром hKey , за исключением имени ключа.
Если hKey представляет ключ на удаленном компьютере, путь, описанный в lpFile , относится к удаленному компьютеру.
Примечание
Заголовок winreg.h определяет RegRestoreKey как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winreg.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |