Функция SHRegWriteUSValueA (shlwapi.h)
Записывает значение в подраздел реестра в пользовательском поддереве (HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE).
Синтаксис
LSTATUS SHRegWriteUSValueA(
[in] HUSKEY hUSKey,
[in] LPCSTR pszValue,
[in] DWORD dwType,
[in] const void *pvData,
[in] DWORD cbData,
[in] DWORD dwFlags
);
Параметры
[in] hUSKey
Тип: HUSKEY
Дескриптор открытого подраздела реестра. Подраздел должен быть открыт с правом доступа KEY_SET_VALUE. Дополнительные сведения см. в разделе Безопасность раздела реестра и права доступа.
Этот дескриптор можно получить с помощью функции SHRegOpenUSKey .
[in] pszValue
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, которая указывает имя значения. Это значение является записью в подразделе, заданном hUSKey. Если в подразделе еще нет значения с таким именем, оно будет добавлено.
Если этот параметр имеет значение NULL или пустую строку, функция задает тип и данные для значения по умолчанию подраздела.
[in] dwType
Тип: DWORD
Тип данных, которые должны храниться в значении, заданном параметром pszValue. Один из следующих типов значений реестра, определенных в Winnt.h и Wdm.h.
REG_NONE (0x00000000)
REG_SZ (0x00000001)
REG_EXPAND_SZ (0x00000002)
REG_BINARY (0x00000003)
REG_DWORD (0x00000004)
REG_DWORD_LITTLE_ENDIAN (0x00000004)
REG_DWORD_BIG_ENDIAN (0x00000005)
REG_LINK (0x00000006)
REG_MULTI_SZ (0x00000007)
REG_RESOURCE_LIST (0x00000008)
REG_FULL_RESOURCE_DESCRIPTOR (0x00000009)
REG_RESOURCE_REQUIREMENTS_LIST (0x0000000A)
REG_QWORD (0x0000000B)
REG_QWORD_LITTLE_ENDIAN (0x0000000B)
[in] pvData
Тип: const void*
Указатель на данные, которые необходимо задать для значения, указанного в pszValue. Для строковых типов, таких как REG_SZ, строка должна заканчиваться null. При использовании типа данных REG_MULTI_SZ строка должна быть завершена двумя символами NULL. Обратной косой черты в пути должна предшествовать другая обратная косая черта в качестве escape-символа. Например, укажите "C:\mydir\myfile", чтобы сохранить строку "C:\mydir\myfile".
[in] cbData
Тип: DWORD
Размер (в байтах) данных, на которые указывает параметр pvData . Если данные имеют тип REG_SZ, REG_EXPAND_SZ или REG_MULTI_SZ, cbData должен содержать размер завершающего пустого символа или символов.
[in] dwFlags
Тип: DWORD
Флаги, указывающие поддерево, в которое должны быть записаны данные. Одно или несколько из следующих значений:
SHREGSET_HKCU (0x00000001)
Запись в HKEY_CURRENT_USER только в том случае, если значение имени, указанное в pszValue , в настоящее время не существует в указанном подразделе.
SHREGSET_FORCE_HKCU (0x00000002)
Запись в HKEY_CURRENT_USER. Если значение имени, указанное в pszValue , уже существует, оно будет перезаписано.
SHREGSET_HKLM (0x00000004)
Запись в HKEY_LOCAL_MACHINE только в том случае, если значение имени, указанное в pszValue , в настоящее время не существует в указанном подразделе.
SHREGSET_FORCE_HKLM (0x00000008)
Запись в HKEY_LOCAL_MACHINE. Если значение имени, указанное в pszValue , уже существует, оно будет перезаписано.
SHREGSET_DEFAULT (0x00000006)
Эквивалентно (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).
Возвращаемое значение
Тип: LSTATUS
В случае успешного выполнения возвращает ERROR_SUCCESS; в противном случае — ненулевой код ошибки, определенный в Winerror.h. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM.
Комментарии
Чтобы использовать SHRegWriteUSValue, необходимо сначала открыть ключ с помощью SHRegOpenUSKey. После открытия ключа можно использовать SHRegWriteUSValue столько раз, сколько потребуется.
Если необходимо написать только одно значение, следует использовать SHRegSetUSValue, который открывает ключ и записывает значение.
Если необходимо записать несколько значений в один и тот же ключ, несколько вызовов SHRegWriteUSValue обычно более эффективны, чем SHRegSetUSValue, так как ключ открывается только один раз.
Примечание
Заголовок shlwapi.h определяет SHRegWriteUSValue в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 4.71 или более поздняя) |