Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
CreateSubKey Method (String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

RegistryKey.CreateSubKey Method (String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

.NET Framework 4.6 and 4.5

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

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

public RegistryKey CreateSubKey(
	string subkey,
	RegistryKeyPermissionCheck permissionCheck,
	RegistryOptions registryOptions,
	RegistrySecurity registrySecurity


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.

Type: System.Security.AccessControl.RegistrySecurity

The access control security for the new subkey.

Return Value

Type: Microsoft.Win32.RegistryKey
The newly created subkey, or null if the operation failed.


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

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4
© 2015 Microsoft