RtlCreateRegistryKey

NTSTATUS
    RtlCreateRegistryKey(

        IN ULONG  RelativeTo,
        IN PWSTR  Path
        );

RtlCreateRegistryKey adds a key object in the registry along a given relative path.

Parameters

RelativeTo
Specifies whether Path is an absolute registry path or is relative to a predefined key 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.

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.

Path
Specifies the registry path according to the RelativeTo value. If RTL_REGISTRY_HANDLE is set, Path is a handle to be used directly.

Return Value

RtlCreateRegistryKey returns STATUS_SUCCESS if the key is created.

Comments

Callers of RtlCreateRegistryKey must be running at IRQL PASSIVE_LEVEL.

See Also

RtlCheckRegistryKey, RtlDeleteRegistryValue, RtlQueryRegistryValues, RtlWriteRegistryValue, ZwEnumerateKey, ZwOpenKey