Функция RegRestoreKey читает информацию реестра из указанного файла и копирует ее в указанный ключ. Эта информация реестра может быть в виде ключа и множества уровней подключей.
LONG RegRestoreKey(
HKEY hKey, // дескриптор ключа, который восстанавливается
LPCTSTR lpFile, // адрес файла
DWORD dwFlags // опции
);
Параметры:
hKey |
Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG
Любая информация, помещенная в этот ключ и происходящих от него ключей, будет перезаписана информацией из файла, указанного в параметре lpFile. |
lpFile |
Адрес нульзаканчивающейся строки, содержащей имя файла с информацией реестра. Обычно, это файл, созданный при использовании функции RegSaveKey. |
dwFlags |
Определяет флаг, указывающий, что ключ непостоянен. (Непостоянный ключ действителен только до перезагрузки системы.) Этот параметр необязателен; если значение не указано, то ключ не непостоянен.
Этот параметр может быть установлен в флаг REG_WHOLE_HIVE_VOLATILE. Вместо восстановления данного ключа, этот флаг заставляет функцию создать новую, непостоянную (только в памяти), информацию реестра. (Улей – это большой набор информации реестра, обычно содержащий информацию, уместную для части системы. Например, HKEY_LOCAL_MACHINE\Hardware – это непостоянный улей).
Если указано REG_WHOLE_HIVE_VOLATILE, то ключ, указанный в параметре hKey, должен быть значением HKEY_USERS или HKEY_LOCAL_MACHINE. |
Возвращаемые значения:
Если функция успешно, возвращается значение ERROR_SUCCESS.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Если какой-либо ключ из ключа hKey открыт, то RegRestoreKey завершится неудачей. Также, будет неудачным ее вызов, если вызывающий процесс не имеет привилегию SE_RESTORE_NAME.
Функция заменяет ключи и значения, под указанным ключем, ключами и значениями, которые являются вспомогательными в ключе верхнего уровня в файле. Например, если hKey идентифицирует ключ А с подключами В и С, тогда как в файле lpFile содержится ключ X с подключами Y и Z. После вызова RegRestoreKey, реестр будет содержать ключ А с подключами Y и Z. Записи значения А будут замещены записями значений из X.
Новая информация в файле, указанном в lpFile, перезаписывает содержание ключа hKey, за исключением имени ключа.
Если hKey указывает на ключ удаленного компьютера, то путь в lpFile является относительным к удаленному компьютеру.
Смотрите также:
RegDeleteKey, RegLoadKey, RegReplaceKey, RegSaveKey
|