Функция RegSetValueEx сохраняет данные в поле значения открытого ключа реестра. Она, также, может устанавливать дополнительные значения и типы информации для указанного ключа.
LONG RegSetValueEx(
HKEY hKey, // дескриптор ключа
LPCTSTR lpValueName,// адрес имени установливаемого значения
DWORD Reserved, // зарезервировано
DWORD dwType, // тип данных
CONST BYTE *lpData, // адрес данных для установки
DWORD cbData // размер данных
);
Параметры:
hKey |
Идентифицирует открытый в текущий момент ключ или один из следующих предопределенных значений дескрипторов:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG
Возвращаемые ключи относительны ключу, указанному в hKey. |
lpValueName |
Адрес нульзаканчивающейся строки, содержащей имя устанавливаемого значения. Если значение с таким именем не существует в ключе реестра, функция его создает.
Если этот параметр равен NULL или ссылается на пустую строку и параметр dwType установлен в тип REG_SZ, функция устанавливает такое же значение, как и функция RegSetValue. |
Reserved |
Зарезервировано; должно быть NULL |
dwType |
Определяет тип сохраняемых данных значения. Этот параметр может быть одним из следующих значений:
Значение: |
Назначение: |
KEY_ALL_ACCESS   |
Комбинация из KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, и KEY_SET_VALUE. |
KEY_CREATE_LINK   |
Права создавать символические ссылки. |
KEY_CREATE_SUB_KEY   |
Права создавать подключи. |
KEY_ENUMERATE_SUB_KEYS   |
Права перечислять подключи. |
KEY_EXECUTE   |
Права на доступ ко чтению. |
KEY_NOTIFY   |
Права на изменение нотификации. |
KEY_QUERY_VALUE   |
Права запрашивать данные подключей. |
KEY_READ   |
Комбинация из KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, и KEY_NOTIFY. |
KEY_SET_VALUE   |
Права устанавливать данные подключей. |
KEY_WRITE   |
Комбинация из KEY_SET_VALUE и KEY_CREATE_SUB_KEY. |
|
lpData |
Адрес буфера, содержащего данные для установки их по указанному имени значения. |
cbData |
Определяет размер, в байтах, информации, на которую ссылается параметр lpData. Если данные имеют тип REG_SZ, REG_EXPAND_SZ, или REG_MULTI_SZ, то cbData должно учитывать нулевой заканчивающий строку символ. |
Возвращаемые значения:
Если функция успешно, возвращается значение ERROR_SUCCESS.
При ошибке, возвращаемое значение – это код ошибки, объявленный в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения общего описания ошибки.
Замечания:
Размер данных ограничен возможностями системы. Длинные значения (большие за 2048 байт) лучше хранить в файле и указывать путь к файлу в реестре. Это позволяет реестру работать более эффективно. Такие элементы приложения, как иконки, рисунки и исполняющиеся файлы должны храниться как файлы, а не помещатся в реестр.
Ключ, указанный в hKey, должен быть открытым с правом доступа KEY_SET_VALUE. Для открытия ключа, используйте функцию RegCreateKeyEx или RegOpenKeyEx.
Если dwType установлен в тип REG_SZ, REG_MULTI_SZ или REG_EXPAND_SZ и
используется ANSI версия этой функции (если произведен точный вызов RegSetValueEx или не был объявлен Unicode перед добавлением заголовочного файла WINDOWS.H), парметр lpData должен быть строкой ANSI. Строка преобразовывается в Unicode перед сохранением в реестре.
Смотрите также:
RegCreateKeyEx, RegFlushKey, RegOpenKeyEx, RegQueryValue, RegQueryValueEx, RegSetValue
|