Previous Next

RtlCreateRegistryKey

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

NTSTATUS 
  RtlCreateRegistryKey(
    IN ULONG  RelativeTo,
    IN PWSTR  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. (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.

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.

Headers

Declared in ntddk.h. Include ntddk.h.

Comments

Callers of RtlCreateRegistryKey must be running at IRQL = PASSIVE_LEVEL.

See Also

RtlCheckRegistryKey, RtlDeleteRegistryValue, RtlQueryRegistryValues, RtlWriteRegistryValue, ZwEnumerateKey, ZwOpenKey