Функция SHRegWriteUSValueW (shlwapi.h)
Записывает значение в подраздел реестра в поддереве конкретного пользователя (HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE).
Синтаксис
LSTATUS SHRegWriteUSValueW(
[in] HUSKEY hUSKey,
LPCWSTR pwzValue,
[in] DWORD dwType,
[in] const void *pvData,
[in] DWORD cbData,
[in] DWORD dwFlags
);
Параметры
[in] hUSKey
Тип: HUSKEY
Дескриптор открытого подраздела реестра. Вложенный ключ должен быть открыт с помощью права доступа KEY_SET_VALUE. Дополнительные сведения см. в разделе "Безопасность и права доступа реестра".
Этот дескриптор можно получить с помощью функции SHRegOpenUSKey.
pwzValue
ТБD
[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 строка должна быть завершена двумя пустыми символами. Обратная косая черта в пути должна предшествовать другой обратной косой черте в качестве escape-символа. Например, укажите "C:\mydir\myfile", чтобы сохранить строку "C:\mydir\myfile".
[in] cbData
Тип: DWORD
Размер данных в байтах, на которые указывает параметр pvData. Если данные имеют тип REG_SZ, REG_EXPAND_SZ или REG_MULTI_SZ, cbData должны содержать размер завершающего символа NULL или символов.
[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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный, Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shlwapi.h |
библиотеки |
Shlwapi.lib |
DLL | Shlwapi.dll (версия 4.71 или более поздняя) |
См. также
Типы значений реестра