RtlWriteRegistryValue function (wdm.h)
The RtlWriteRegistryValue routine writes caller-supplied data into the registry along the specified relative path at the given value name.
Syntax
NTSYSAPI NTSTATUS RtlWriteRegistryValue(
[in] ULONG RelativeTo,
[in] PCWSTR Path,
[in] PCWSTR ValueName,
[in] ULONG ValueType,
[in, optional] PVOID ValueData,
[in] ULONG ValueLength
);
Parameters
[in] RelativeTo
Specifies whether Path is an absolute registry path or is relative to a predefined path as one of the following.
Value | Meaning |
---|---|
RTL_REGISTRY_ABSOLUTE | Path is an absolute registry path. |
RTL_REGISTRY_SERVICES | Path is relative to \Registry\Machine\System\CurrentControlSet\Services. |
RTL_REGISTRY_CONTROL | Path is relative to \Registry\Machine\System\CurrentControlSet\Control. |
RTL_REGISTRY_WINDOWS_NT | Path is relative to \Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion. |
RTL_REGISTRY_DEVICEMAP | Path is relative to \Registry\Machine\Hardware\DeviceMap. |
RTL_REGISTRY_USER | Path is relative to \Registry\User\CurrentUser. (For a system process, this is \Users\.Default.) |
RTL_REGISTRY_OPTIONAL | Specifies that the key referenced by this parameter and the Path parameter are optional. |
RTL_REGISTRY_HANDLE | Specifies that the Path parameter is actually a registry handle to use. This value is optional. |
[in] Path
Pointer to either an absolute registry path or a path relative to the known location specified by the RelativeTo parameter. If the RTL_REGISTRY_HANDLE flag is specified, this parameter is a registry handle for an already opened key to be used directly.
[in] ValueName
Pointer to the name of a subkey or value entry to be written into the registry.
[in] ValueType
Specifies a REG_XXX value that determines the type of the ValueName parameter. For a list of the possible values, see the Type parameter of ZwSetValueKey.
[in, optional] ValueData
Pointer to the name of a subkey or values for its value entries (or both) to be written into the registry.
[in] ValueLength
Specifies the number of bytes of ValueData to be written into the registry.
Return value
RtlWriteRegistryValue returns the status of the operation, either STATUS_SUCCESS or an error status.
Remarks
If the specified key does not exist, the routine attempts to create the key. For this attempt to succeed, the new key must be a direct subkey of the key that is referred to by the Path parameter, and the key that Path refers to must have been opened for KEY_CREATE_SUB_KEY access.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 2000. |
Target Platform | Universal |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |