Функция 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_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 или более поздняя)

См. также раздел

Типы значений реестра