RtlCreateRegistryKey function (wdm.h)

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

Syntax

NTSYSAPI NTSTATUS RtlCreateRegistryKey(
  [in] ULONG RelativeTo,
  [in] PWSTR Path
);

Parameters

[in] 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. (For a system process, this is \Users\.Default.)

[in] Path

Specifies the registry path according to the RelativeTo value.

Return value

RtlCreateRegistryKey returns STATUS_SUCCESS if the key is created.

Remarks

RtlCreateRegistryKey creates only the keys that you specify. It does not create missing keys in the path to the specified key. If any keys in the path are missing, the call will fail. To ensure that all keys in the path exist, you must call RtlCreateRegistryKey once for each key in the path.

Requirements

Requirement Value
Minimum supported client Available in Windows 2000 and later versions of Windows.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

See also

RtlCheckRegistryKey

RtlDeleteRegistryValue

RtlQueryRegistryValues

RtlWriteRegistryValue

ZwEnumerateKey

ZwOpenKey