This documentation is archived and is not being maintained.

RegistryKey.CreateSubKey Method (String, RegistryKeyPermissionCheck)

Creates a new subkey or opens an existing subkey for write access, using the specified permission check option.

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

[ComVisibleAttribute(false)]
public RegistryKey CreateSubKey(
	string subkey,
	RegistryKeyPermissionCheck permissionCheck
)

Parameters

subkey
Type: System.String
The name or path of the subkey to create or open. This string is not case-sensitive.
permissionCheck
Type: Microsoft.Win32.RegistryKeyPermissionCheck
One of the enumeration values that specifies whether the key is opened for read or read/write access.

Return Value

Type: Microsoft.Win32.RegistryKey
The newly created subkey, or null if the operation failed. If a zero-length string is specified for subkey, the current RegistryKey object is returned.

ExceptionCondition
ArgumentNullException

subkey is null.

SecurityException

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

ArgumentException

permissionCheck contains an invalid value.

ObjectDisposedException

The RegistryKey on which this method is being invoked is closed (closed keys cannot be accessed).

UnauthorizedAccessException

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

IOException

The nesting level exceeds 510.

-or-

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

In order to perform this action, the user must have permission at this level and below in the registry hierarchy.

Caution noteCaution

Do not expose RegistryKey objects in such a way that a malicious program could create thousands of meaningless subkeys or key/value pairs. For example, do not allow callers to enter arbitrary keys or values.

In order to use the OpenSubKey method, you must have an instance of the RegistryKey class. To get an instance of RegistryKey, use one of the static members of the Registry class.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, 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.
Show: