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 является относительным к удаленному компьютеру.