RegSetValue
The RegSetValue
function associates a value with a specified key. This value must be a text
string and cannot have a name. This function is provided for compatibility with
Windows version 3.1. Win32-based applications should use the RegSetValueEx
LONG RegSetValue(
HKEY hKey, |
// handle of key to
set value for |
LPCTSTR lpSubKey, |
// address of
subkey name |
DWORD dwType, |
// type of value |
LPCTSTR lpData, |
// address of value
data |
DWORD cbData |
// size of value
data |
); |
|
Parameters
hKey
Identifies a
currently open key or any of the following predefined reserved handle values:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey
Points to a
null-terminated string containing the name of the subkey with which a value is
associated. This parameter can be null or a pointer to an empty string. In this
case, the value will be added to the key identified by the hKey
parameter.
dwType
Specifies the
type of information to be stored. This parameter must be the REG_SZ type. To store
other data types, use the RegSetValueEx function.
lpData
Points to a
null-terminated string containing the value to set for the specified key.
cbData
Specifies the
length, in bytes, of the string pointed to by the lpData parameter, not
including the terminating null character.
Return Values
If the
function succeeds, the return value is ERROR_SUCCESS.
If the
function fails, the return value is a nonzero error code defined in WINERROR.H.
You can use the FormatMessage
Remarks
If the key
specified by the lpSubKey parameter does not exist, the RegSetValue
function creates it.
Value lengths
are limited by available memory. Long values (more than 2048 bytes) should be
stored as files with the filenames stored in the registry. This helps the
registry perform efficiently.
The key
identified by the hKey parameter must have been opened with
KEY_SET_VALUE access. To open the key, use the RegCreateKeyEx or RegOpenKeyEx
function. If the ANSI version of this function is used (either by explicitly
calling RegSetValue or by not defining Unicode before including the
WINDOWS.H file), the lpData parameter must be an ANSI character string.
The string is converted to Unicode before it is stored in the registry.
See Also