This documentation is archived and is not being maintained.

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

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

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.