The RtlWriteRegistryValue routine writes caller-supplied data into the registry along the specified relative path at the given value name.
NTSTATUS
RtlWriteRegistryValue(
IN ULONG RelativeTo,
IN PCWSTR Path,
IN PCWSTR ValueName,
IN ULONG ValueType,
IN PVOID ValueData,
IN ULONG ValueLength
);
| 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. | |
RtlWriteRegistryValue returns the status of the operation, either STATUS_SUCCESS or an error status.
Declared in wdm.h and ntddk.h. Include wdm.h or ntddk.h.
Callers of RtlWriteRegistryValue must be running at IRQL = PASSIVE_LEVEL.
RtlCheckRegistryKey, RtlCreateRegistryKey, RtlDeleteRegistryValue, RtlQueryRegistryValues, ZwOpenKey