Функция RegSetValue устанавливает значение указанному ключю. Это значение должно быт текстовой строкой и не должно иметь имени. Эта функция оставлена для совместимости с Windows версии 3.1. Win32-приложения должны использовать функцию RegSetValueEx, которая позволяет приложению устанавливать любое количество значений с именами данных любых типов.
LONG RegSetValue(
HKEY hKey, // дескриптор ключа
LPCTSTR lpSubKey, // адрес имени подключа
DWORD dwType, // тип значения
LPCTSTR lpData, // адрес данных значения
DWORD cbData // размер данных
);
Параметры:
hKey |
Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG |
lpSubKey |
Адрес нульзаканчивающейся строки, содержащей имя подключа, в котором будет установлено значение. Этот параметр может быть нулевым или указывать на пустую строку. В этом случае, значение будет добавлено в ключ, указанный в параметре hKey. |
dwType |
Указывает тип сохраняемой информации. Этот параметр должен быть REG_SZ. Для сохранения других типов данных, используйте функцию RegSetValueEx. |
lpData |
Адрес нульзаканчивающейся строки, содержащей значение к установке его в указанный ключ. |
cbData |
Указывает размер, в байтах, строки lpData, без учета завершающего строку нулевого символа. |
Возвращаемые значения:
Если функция успешно, возвращается значение ERROR_SUCCESS.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Если ключ, указанный в параметре lpSubKey, не существует, функция RegSetValue создает его.
Размер данных ограничен возможностями системы. Длинные значения (большие за 2048 байт) лучше хранить в файле и указывать путь к файлу в реестре. Это позволяет реестру работать более эффективно.
Ключ, указанный в hKey, должен быть открытым с правом доступа KEY_SET_VALUE. Для открытия ключа, используйте функцию RegCreateKeyEx или RegOpenKeyEx.
Если используется ANSI версия этой функции (если произведен точный вызов RegSetValue или не был объявлен Unicode перед добавлением заголовочного файла WINDOWS.H), парметр lpData должен быть строкой ANSI. Строка преобразовывается в Unicode перед сохранением в реестре.
Смотрите также:
RegCreateKeyEx, RegFlushKey, RegOpenKeyEx, RegQueryValue, RegQueryValueEx, RegSetValueEx
|