Compartir a través de


RegistryKey.CreateSubKey Método

Definición

Crea una nueva subclave o abre una subclave existente.

Sobrecargas

CreateSubKey(String)

Crea una subclave o abre una subclave existente para el acceso de escritura.

CreateSubKey(String, RegistryKeyPermissionCheck)

Crea una subclave o abre una subclave existente para el acceso de escritura, utilizando la opción de comprobación de permiso especificada.

CreateSubKey(String, Boolean)

Crea una subclave o abre una subclave existente con el acceso especificado. Disponible a partir de .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Crea una subclave o abre una subclave existente para el acceso de escritura, utilizando la opción de comprobación de permiso y la seguridad del Registro especificadas.

CreateSubKey(String, Boolean, RegistryOptions)

Crea una subclave o abre una subclave existente con el acceso especificado. Disponible a partir de .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Crea una subclave o abre una subclave para el acceso de escritura, usando las opciones del Registro y de comprobación de permisos especificadas.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Crea una nueva subclave o abre una subclave para el acceso de escritura, usando la opción de comprobación de permisos, la opción del Registro y la seguridad del Registro especificadas.

CreateSubKey(String)

Source:
RegistryKey.cs

Crea una subclave o abre una subclave existente para el acceso de escritura.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey);
member this.CreateSubKey : string -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir. Esta cadena no distingue entre mayúsculas y minúsculas.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación. Si se especifica una cadena de longitud cero para subkey, se devuelve el objeto RegistryKey actual.

Excepciones

subkey es null.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

Se está llamando a este método en un objeto RegistryKey que está cerrado (no se puede tener acceso a claves cerradas).

No se puede escribir en el objeto RegistryKey, porque, por ejemplo, no se abrió como una clave de escritura o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Error del sistema, como la eliminación de la clave o el intento de crear una clave en la raíz de LocalMachine.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una subclave en HKEY_CURRENT_USER, manipular su contenido y, a continuación, eliminar la subclave.

using namespace System;
using namespace System::Security::Permissions;
using namespace Microsoft::Win32;

int main()
{
   // Create a subkey named Test9999 under HKEY_CURRENT_USER.
   RegistryKey ^ test9999 = Registry::CurrentUser->CreateSubKey( "Test9999" );

   // Create two subkeys under HKEY_CURRENT_USER\Test9999.
   test9999->CreateSubKey( "TestName" )->Close();
   RegistryKey ^ testSettings = test9999->CreateSubKey( "TestSettings" );

   // Create data for the TestSettings subkey.
   testSettings->SetValue( "Language", "French" );
   testSettings->SetValue( "Level", "Intermediate" );
   testSettings->SetValue( "ID", 123 );
   testSettings->Close();

   // Print the information from the Test9999 subkey.
   Console::WriteLine( "There are {0} subkeys under Test9999.", test9999->SubKeyCount.ToString() );
   array<String^>^subKeyNames = test9999->GetSubKeyNames();
   for ( int i = 0; i < subKeyNames->Length; i++ )
   {
      RegistryKey ^ tempKey = test9999->OpenSubKey( subKeyNames[ i ] );
      Console::WriteLine( "\nThere are {0} values for {1}.", tempKey->ValueCount.ToString(), tempKey->Name );
      array<String^>^valueNames = tempKey->GetValueNames();
      for ( int j = 0; j < valueNames->Length; j++ )
      {
         Console::WriteLine( "{0,-8}: {1}", valueNames[ j ], tempKey->GetValue( valueNames[ j ] )->ToString() );

      }
   }
   
   // Delete the ID value.
   testSettings = test9999->OpenSubKey( "TestSettings", true );
   testSettings->DeleteValue( "id" );

   // Verify the deletion.
   Console::WriteLine( dynamic_cast<String^>(testSettings->GetValue(  "id", "ID not found." )) );
   testSettings->Close();

   // Delete or close the new subkey.
   Console::Write( "\nDelete newly created registry key? (Y/N) " );
   if ( Char::ToUpper( Convert::ToChar( Console::Read() ) ) == 'Y' )
   {
      Registry::CurrentUser->DeleteSubKeyTree( "Test9999" );
      Console::WriteLine( "\nRegistry key {0} deleted.", test9999->Name );
   }
   else
   {
      Console::WriteLine( "\nRegistry key {0} closed.", test9999->ToString() );
      test9999->Close();
   }
}
using System;
using System.Security.Permissions;
using Microsoft.Win32;

class RegKey
{
    static void Main()
    {
        // Create a subkey named Test9999 under HKEY_CURRENT_USER.
        RegistryKey test9999 =
            Registry.CurrentUser.CreateSubKey("Test9999");
        // Create two subkeys under HKEY_CURRENT_USER\Test9999. The
        // keys are disposed when execution exits the using statement.
        using(RegistryKey
            testName = test9999.CreateSubKey("TestName"),
            testSettings = test9999.CreateSubKey("TestSettings"))
        {
            // Create data for the TestSettings subkey.
            testSettings.SetValue("Language", "French");
            testSettings.SetValue("Level", "Intermediate");
            testSettings.SetValue("ID", 123);
        }

        // Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under {1}.",
            test9999.SubKeyCount.ToString(), test9999.Name);
        foreach(string subKeyName in test9999.GetSubKeyNames())
        {
            using(RegistryKey
                tempKey = test9999.OpenSubKey(subKeyName))
            {
                Console.WriteLine("\nThere are {0} values for {1}.",
                    tempKey.ValueCount.ToString(), tempKey.Name);
                foreach(string valueName in tempKey.GetValueNames())
                {
                    Console.WriteLine("{0,-8}: {1}", valueName,
                        tempKey.GetValue(valueName).ToString());
                }
            }
        }

        using(RegistryKey
            testSettings = test9999.OpenSubKey("TestSettings", true))
        {
            // Delete the ID value.
            testSettings.DeleteValue("id");

            // Verify the deletion.
            Console.WriteLine((string)testSettings.GetValue(
                "id", "ID not found."));
        }

        // Delete or close the new subkey.
        Console.Write("\nDelete newly created registry key? (Y/N) ");
        if(Char.ToUpper(Convert.ToChar(Console.Read())) == 'Y')
        {
            Registry.CurrentUser.DeleteSubKeyTree("Test9999");
            Console.WriteLine("\nRegistry key {0} deleted.",
                test9999.Name);
        }
        else
        {
            Console.WriteLine("\nRegistry key {0} closed.",
                test9999.ToString());
            test9999.Close();
        }
    }
}
Imports System.Security.Permissions
Imports Microsoft.Win32

Public Class RegKey
    Shared Sub Main()

        ' Create a subkey named Test9999 under HKEY_CURRENT_USER.
        Dim test9999 As RegistryKey = _
            Registry.CurrentUser.CreateSubKey("Test9999")

        ' Create two subkeys under HKEY_CURRENT_USER\Test9999.
        test9999.CreateSubKey("TestName").Close()
        Dim testSettings As RegistryKey = _
            test9999.CreateSubKey("TestSettings")

        ' Create data for the TestSettings subkey.
        testSettings.SetValue("Language", "French")
        testSettings.SetValue("Level", "Intermediate")
        testSettings.SetValue("ID", 123)
        testSettings.Close()

        ' Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under Test9999.", _
            test9999.SubKeyCount.ToString())
        For Each subKeyName As String In test9999.GetSubKeyNames()
            Dim tempKey As RegistryKey = _
                test9999.OpenSubKey(subKeyName)
            Console.WriteLine(vbCrLf & "There are {0} values for " & _
                "{1}.", tempKey.ValueCount.ToString(), tempKey.Name)
            For Each valueName As String In tempKey.GetValueNames()
                Console.WriteLine("{0,-8}: {1}", valueName, _
                    tempKey.GetValue(valueName).ToString())
            Next
        Next

        ' Delete the ID value.
        testSettings = test9999.OpenSubKey("TestSettings", True)
        testSettings.DeleteValue("id")

        ' Verify the deletion.
        Console.WriteLine(CType(testSettings.GetValue( _
            "id", "ID not found."), String))
        testSettings.Close()

        ' Delete or close the new subkey.
        Console.Write(vbCrLf & "Delete newly created " & _
            "registry key? (Y/N) ")
        If Char.ToUpper(Convert.ToChar(Console.Read())) = "Y"C Then
            Registry.CurrentUser.DeleteSubKeyTree("Test9999")
            Console.WriteLine(vbCrLf & "Registry key {0} deleted.", _
                test9999.Name)
        Else
            Console.WriteLine(vbCrLf & "Registry key {0} closed.", _
                test9999.ToString())
            test9999.Close()
        End If
   
    End Sub
End Class

Comentarios

Para realizar esta acción, el usuario debe tener permiso en este nivel y debajo en la jerarquía del Registro.

Precaución

No exponga RegistryKey objetos de tal manera que un programa malintencionado pueda crear miles de subclaves sin sentido ni pares clave-valor. Por ejemplo, no permita que los autores de llamadas escriban claves o valores arbitrarios.

Consulte también

Se aplica a

CreateSubKey(String, RegistryKeyPermissionCheck)

Source:
RegistryKey.cs

Crea una subclave o abre una subclave existente para el acceso de escritura, utilizando la opción de comprobación de permiso especificada.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir. Esta cadena no distingue entre mayúsculas y minúsculas.

permissionCheck
RegistryKeyPermissionCheck

Uno de los valores de enumeración que especifica si la clave se abre para acceso de lectura o para acceso de lectura y escritura.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación. Si se especifica una cadena de longitud cero para subkey, se devuelve el objeto RegistryKey actual.

Atributos

Excepciones

subkey es null.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

permissionCheck contiene un valor no válido.

Se está llamando a este método en un objeto RegistryKey que está cerrado (no se puede tener acceso a claves cerradas).

No se puede escribir en el objeto RegistryKey porque, por ejemplo, no se ha abierto como una clave de escritura o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Error del sistema, como la eliminación de la clave o el intento de crear una clave en la raíz de LocalMachine.

Comentarios

Para realizar esta acción, el usuario debe tener permiso en este nivel y debajo en la jerarquía del Registro.

Precaución

No exponga RegistryKey objetos de tal manera que un programa malintencionado pueda crear miles de subclaves sin sentido ni pares clave-valor. Por ejemplo, no permita que los autores de llamadas escriban claves o valores arbitrarios.

Para usar el OpenSubKey método , debe tener una instancia de la RegistryKey clase . Para obtener una instancia de RegistryKey, use uno de los miembros estáticos de la Registry clase .

Consulte también

Se aplica a

CreateSubKey(String, Boolean)

Source:
RegistryKey.cs

Crea una subclave o abre una subclave existente con el acceso especificado. Disponible a partir de .NET Framework 4.6.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, bool writable);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable);
member this.CreateSubKey : string * bool -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * bool -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, writable As Boolean) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir. Esta cadena no distingue entre mayúsculas y minúsculas.

writable
Boolean

Es true para indicar que la subclave nueva es modificable; en caso contrario, es false.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación. Si se especifica una cadena de longitud cero para subkey, se devuelve el objeto RegistryKey actual.

Atributos

Excepciones

subkey es null.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

No se puede escribir en el elemento RegistryKey actual, por ejemplo, no se abrió como clave modificable o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Error del sistema, como la eliminación de la clave o el intento de crear una clave en la raíz de LocalMachine.

Comentarios

Para realizar esta acción, el usuario debe tener permiso en este nivel y debajo en la jerarquía del Registro.

Precaución

No exponga RegistryKey objetos de tal manera que un programa malintencionado pueda crear miles de subclaves sin sentido ni pares clave-valor. Por ejemplo, no permita que los autores de llamadas escriban claves o valores arbitrarios.

Para usar el CreateSubKey método , debe tener una instancia de la RegistryKey clase . Para obtener una instancia de RegistryKey, use uno de los miembros estáticos de la Registry clase .

Se aplica a

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Source:
RegistryKey.cs

Crea una subclave o abre una subclave existente para el acceso de escritura, utilizando la opción de comprobación de permiso y la seguridad del Registro especificadas.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, System::Security::AccessControl::RegistrySecurity ^ registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity? registrySecurity);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, System.Security.AccessControl.RegistrySecurity registrySecurity);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, registrySecurity As RegistrySecurity) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir. Esta cadena no distingue entre mayúsculas y minúsculas.

permissionCheck
RegistryKeyPermissionCheck

Uno de los valores de enumeración que especifica si la clave se abre para acceso de lectura o para acceso de lectura y escritura.

registrySecurity
RegistrySecurity

Seguridad del control de acceso para la nueva clave.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación. Si se especifica una cadena de longitud cero para subkey, se devuelve el objeto RegistryKey actual.

Atributos

Excepciones

subkey es null.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

permissionCheck contiene un valor no válido.

Se está llamando a este método en un objeto RegistryKey que está cerrado (no se puede tener acceso a claves cerradas).

No se puede escribir en el elemento RegistryKey actual, por ejemplo, no se abrió como clave modificable o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Error del sistema, como la eliminación de la clave o el intento de crear una clave en la raíz de LocalMachine.

Comentarios

El CreateSubKey método crea una clave del Registro que tiene el control de acceso especificado por el registrySecurity parámetro . El RegistryKey objeto que se devuelve representa la clave del Registro, pero ese objeto no está restringido por el control de acceso especificado en el registrySecurity parámetro .

Si permissionCheck es RegistryKeyPermissionCheck.ReadWriteSubTree, la clave se abre para el acceso de lectura y escritura. Si permissionCheck es RegistryKeyPermissionCheck.ReadSubTree, la clave se abre para el acceso de lectura.

Por motivos de compatibilidad con versiones anteriores, la clave se abre para leer y escribir si permissionCheck es RegistryKeyPermissionCheck.Default y la clave primaria también tiene RegistryKeyPermissionCheck.Default. Si la clave primaria tiene cualquier otra configuración, el estado de lectura y escritura se controla mediante la configuración de la clave primaria.

Para realizar esta acción, el usuario debe tener permisos en este nivel y debajo en la jerarquía del Registro.

Precaución

No exponga RegistryKey objetos de tal manera que un programa malintencionado pueda crear miles de subclaves sin sentido ni pares clave-valor. Por ejemplo, no permita que los autores de llamadas escriban claves o valores arbitrarios.

Para usar el OpenSubKey método , debe tener una instancia de la RegistryKey clase . Para obtener una instancia de RegistryKey, use uno de los miembros estáticos de la Registry clase .

Consulte también

Se aplica a

CreateSubKey(String, Boolean, RegistryOptions)

Source:
RegistryKey.cs

Crea una subclave o abre una subclave existente con el acceso especificado. Disponible a partir de .NET Framework 4.6.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, bool writable, Microsoft::Win32::RegistryOptions options);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable, Microsoft.Win32.RegistryOptions options);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, bool writable, Microsoft.Win32.RegistryOptions options);
member this.CreateSubKey : string * bool * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * bool * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, writable As Boolean, options As RegistryOptions) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir. Esta cadena no distingue entre mayúsculas y minúsculas.

writable
Boolean

Es true para indicar que la subclave nueva es modificable; en caso contrario, es false.

options
RegistryOptions

Opción del Registro que se va a usar.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación. Si se especifica una cadena de longitud cero para subkey, se devuelve el objeto RegistryKey actual.

Atributos

Excepciones

subkey es null.

options no especifica una opción válida.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

No se puede escribir en el elemento RegistryKey actual, por ejemplo, no se abrió como clave modificable o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Error del sistema, como la eliminación de la clave o el intento de crear una clave en la raíz de LocalMachine.

Comentarios

Para realizar esta acción, el usuario debe tener permiso en este nivel y debajo en la jerarquía del Registro.

Precaución

No exponga RegistryKey objetos de tal manera que un programa malintencionado pueda crear miles de subclaves sin sentido ni pares clave-valor. Por ejemplo, no permita que los autores de llamadas escriban claves o valores arbitrarios.

Para usar el CreateSubKey método , debe tener una instancia de la RegistryKey clase . Para obtener una instancia de RegistryKey, use uno de los miembros estáticos de la Registry clase .

Se aplica a

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Source:
RegistryKey.cs

Crea una subclave o abre una subclave para el acceso de escritura, usando las opciones del Registro y de comprobación de permisos especificadas.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions registryOptions);
public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions options);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions options);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, registryOptions As RegistryOptions) As RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, options As RegistryOptions) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir.

permissionCheck
RegistryKeyPermissionCheck

Uno de los valores de enumeración que especifica si la clave se abre para acceso de lectura o para acceso de lectura y escritura.

registryOptionsoptions
RegistryOptions

Opción del Registro que se va a usar; por ejemplo, la que crea una clave volátil.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación.

Atributos

Excepciones

subkey es null.

El objeto RegistryKey actual está cerrado (no se puede tener acceso a las claves cerradas).

No se puede escribir en el objeto RegistryKey actual porque, por ejemplo, no se abrió como una clave de escritura o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Se ha producido un error en el sistema, ya sea porque se ha eliminado una clave o porque se ha intentado crear una clave en la raíz de LocalMachine.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

Comentarios

Para obtener el objeto actual RegistryKey , especifique una cadena vacía ("") para subkey.

Se aplica a

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Source:
RegistryKey.cs

Crea una nueva subclave o abre una subclave para el acceso de escritura, usando la opción de comprobación de permisos, la opción del Registro y la seguridad del Registro especificadas.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions registryOptions, System::Security::AccessControl::RegistrySecurity ^ registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity registrySecurity);
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity? registrySecurity);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey (string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions, System.Security.AccessControl.RegistrySecurity registrySecurity);
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * Microsoft.Win32.RegistryKeyPermissionCheck * Microsoft.Win32.RegistryOptions * System.Security.AccessControl.RegistrySecurity -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, permissionCheck As RegistryKeyPermissionCheck, registryOptions As RegistryOptions, registrySecurity As RegistrySecurity) As RegistryKey

Parámetros

subkey
String

Nombre o ruta de acceso de la subclave que se va a crear o abrir.

permissionCheck
RegistryKeyPermissionCheck

Uno de los valores de enumeración que especifica si la clave se abre para acceso de lectura o para acceso de lectura y escritura.

registryOptions
RegistryOptions

Opción del Registro que se va a usar.

registrySecurity
RegistrySecurity

Seguridad del control de acceso para la nueva subclave.

Devoluciones

Subclave recién creada, o null si se produjo un error en la operación.

Atributos

Excepciones

subkey es null.

El objeto RegistryKey actual está cerrado. No se puede tener acceso a las claves cerradas.

No se puede escribir en el objeto RegistryKey actual porque, por ejemplo, no se abrió como una clave de escritura o el usuario no tiene los derechos de acceso necesarios.

El nivel de anidamiento es superior a 510.

o bien

Se ha producido un error en el sistema, ya sea porque se ha eliminado una clave o porque se ha intentado crear una clave en la raíz de LocalMachine.

El usuario no tiene los permisos necesarios para crear o abrir la clave del Registro.

Comentarios

Para obtener el objeto actual RegistryKey , especifique una cadena vacía ("") para subkey.

Se aplica a