RegistryKey.CreateSubKey Method (String, RegistryKeyPermissionCheck, RegistryOptions)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates a subkey or opens a subkey for write access, using the specified permission check and registry options.

Namespace:   Microsoft.Win32
Assembly:  mscorlib (in mscorlib.dll)

public RegistryKey CreateSubKey(
	string subkey,
	RegistryKeyPermissionCheck permissionCheck,
	RegistryOptions options


Type: System.String

The name or path of the subkey to create or open.

Type: Microsoft.Win32.RegistryKeyPermissionCheck

One of the enumeration values that specifies whether the key is opened for read or read/write access.

Type: Microsoft.Win32.RegistryOptions

The registry option to use; for example, that creates a volatile key.

Return Value

Type: Microsoft.Win32.RegistryKey

The newly created subkey, or null if the operation failed.

Exception Condition

subkey is null.


The current RegistryKey object is closed (closed keys cannot be accessed).


The current RegistryKey object cannot be written to; for example, it was not opened as a writable key, or the user does not have the required access rights.


The nesting level exceeds 510.


A system error occurred, such as deletion of the key or an attempt to create a key in the LocalMachine root.


The user does not have the permissions required to create or open the registry key.

To obtain the current RegistryKey object, specify an empty string ("") for subkey.

.NET Framework
Available since 4.0
Return to top