Compartilhar via


RegistryKey.CreateSubKey Método

Definição

Cria uma nova subchave ou abre uma subchave existente.

Sobrecargas

CreateSubKey(String)

Cria uma nova subchave ou abre uma subchave existente para acesso de gravação.

CreateSubKey(String, RegistryKeyPermissionCheck)

Cria uma nova subchave ou abre uma subchave existente para acesso de gravação, usando a opção de verificação de permissão especificada.

CreateSubKey(String, Boolean)

Cria uma nova subchave ou abre uma subchave existente com o acesso especificado. Disponível a partir do .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Cria uma nova subchave ou abre uma subchave existente para acesso de gravação, usando a segurança do Registro e a opção de verificação de permissão especificada.

CreateSubKey(String, Boolean, RegistryOptions)

Cria uma nova subchave ou abre uma subchave existente com o acesso especificado. Disponível a partir do .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Cria uma subchave ou abre uma subchave para acesso de gravação, usando as opções de verificação e Registro de permissão especificadas.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Cria uma subchave ou abre uma subchave para acesso de gravação, usando a opção de verificação de permissão, opção de Registro e a segurança de Registro especificadas.

CreateSubKey(String)

Origem:
RegistryKey.cs

Cria uma nova subchave ou abre uma subchave existente para acesso de gravação.

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

O nome ou o caminho da subchave a ser criado ou aberto. Esta cadeia de caracteres não diferencia maiúsculas de minúsculas.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado. Se uma cadeia de caracteres de comprimento zero for especificada para subkey, o objeto RegistryKey atual será retornado.

Exceções

subkey é null.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

O RegistryKey no qual esse método é invocado é fechado (chaves fechadas não podem ser acessadas).

Não é possível gravar no RegistryKey; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

Exemplos

O exemplo de código a seguir mostra como criar uma subchave em HKEY_CURRENT_USER, manipular seu conteúdo e, em seguida, excluir a subchave.

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

Comentários

Para executar essa ação, o usuário deve ter permissão nesse nível e abaixo na hierarquia do Registro.

Cuidado

Não exponha objetos RegistryKey de maneira que um programa mal-intencionado possa criar milhares de subchaves sem sentido ou os pares de chave/valor. Por exemplo, não permita que chamadores insiram chaves ou valores arbitrários.

Confira também

Aplica-se a

CreateSubKey(String, RegistryKeyPermissionCheck)

Origem:
RegistryKey.cs

Cria uma nova subchave ou abre uma subchave existente para acesso de gravação, usando a opção de verificação de permissão 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

O nome ou o caminho da subchave a ser criado ou aberto. Esta cadeia de caracteres não diferencia maiúsculas de minúsculas.

permissionCheck
RegistryKeyPermissionCheck

Um dos valores de enumeração que especifica se a chave é aberta para acesso de leitura ou de leitura/gravação.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado. Se uma cadeia de caracteres de comprimento zero for especificada para subkey, o objeto RegistryKey atual será retornado.

Atributos

Exceções

subkey é null.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

permissionCheck contém um valor inválido.

O RegistryKey no qual esse método é invocado é fechado (chaves fechadas não podem ser acessadas).

Não é possível gravar no RegistryKey; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

Comentários

Para executar essa ação, o usuário deve ter permissão nesse nível e abaixo na hierarquia do Registro.

Cuidado

Não exponha objetos RegistryKey de maneira que um programa mal-intencionado possa criar milhares de subchaves sem sentido ou os pares de chave/valor. Por exemplo, não permita que chamadores insiram chaves ou valores arbitrários.

Para usar o método OpenSubKey, você deve ter uma instância da classe RegistryKey. Para obter uma instância de RegistryKey, use um dos membros estáticos da classe Registry.

Confira também

Aplica-se a

CreateSubKey(String, Boolean)

Origem:
RegistryKey.cs

Cria uma nova subchave ou abre uma subchave existente com o acesso especificado. Disponível a partir do .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

O nome ou o caminho da subchave a ser criado ou aberto. Esta cadeia de caracteres não diferencia maiúsculas de minúsculas.

writable
Boolean

true para indicar que a nova subchave é gravável; caso contrário, false.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado. Se uma cadeia de caracteres de comprimento zero for especificada para subkey, o objeto RegistryKey atual será retornado.

Atributos

Exceções

subkey é null.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

Não é possível gravar no RegistryKey atual; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

Comentários

Para executar essa ação, o usuário deve ter permissão nesse nível e abaixo na hierarquia do Registro.

Cuidado

Não exponha objetos RegistryKey de maneira que um programa mal-intencionado possa criar milhares de subchaves sem sentido ou os pares de chave/valor. Por exemplo, não permita que chamadores insiram chaves ou valores arbitrários.

Para usar o método CreateSubKey, você deve ter uma instância da classe RegistryKey. Para obter uma instância de RegistryKey, use um dos membros estáticos da classe Registry.

Aplica-se a

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Origem:
RegistryKey.cs

Cria uma nova subchave ou abre uma subchave existente para acesso de gravação, usando a segurança do Registro e a opção de verificação de permissão especificada.

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

O nome ou o caminho da subchave a ser criado ou aberto. Esta cadeia de caracteres não diferencia maiúsculas de minúsculas.

permissionCheck
RegistryKeyPermissionCheck

Um dos valores de enumeração que especifica se a chave é aberta para acesso de leitura ou de leitura/gravação.

registrySecurity
RegistrySecurity

A segurança de controle de acesso para a nova chave.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado. Se uma cadeia de caracteres de comprimento zero for especificada para subkey, o objeto RegistryKey atual será retornado.

Atributos

Exceções

subkey é null.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

permissionCheck contém um valor inválido.

O RegistryKey no qual esse método é invocado é fechado (chaves fechadas não podem ser acessadas).

Não é possível gravar no RegistryKey atual; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

Comentários

O CreateSubKey método cria uma chave do Registro que tem o controle de acesso especificado pelo registrySecurity parâmetro . O RegistryKey objeto retornado representa a chave do Registro, mas esse objeto não é restrito pelo controle de acesso especificado no registrySecurity parâmetro .

Se permissionCheck for RegistryKeyPermissionCheck.ReadWriteSubTree, a chave será aberta para acesso de leitura/gravação. Se permissionCheck for RegistryKeyPermissionCheck.ReadSubTree, a chave será aberta para acesso de leitura.

Para compatibilidade com versões anteriores, a chave é aberta para leitura e gravação se permissionCheck for RegistryKeyPermissionCheck.Default e a chave pai também tem RegistryKeyPermissionCheck.Default. Se a chave pai tiver qualquer outra configuração, a status de leitura/gravação será controlada pela configuração da chave pai.

Para executar essa ação, o usuário deve ter permissões nesse nível e abaixo na hierarquia do Registro.

Cuidado

Não exponha objetos RegistryKey de maneira que um programa mal-intencionado possa criar milhares de subchaves sem sentido ou os pares de chave/valor. Por exemplo, não permita que chamadores insiram chaves ou valores arbitrários.

Para usar o método OpenSubKey, você deve ter uma instância da classe RegistryKey. Para obter uma instância de RegistryKey, use um dos membros estáticos da classe Registry.

Confira também

Aplica-se a

CreateSubKey(String, Boolean, RegistryOptions)

Origem:
RegistryKey.cs

Cria uma nova subchave ou abre uma subchave existente com o acesso especificado. Disponível a partir do .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

O nome ou o caminho da subchave a ser criado ou aberto. Esta cadeia de caracteres não diferencia maiúsculas de minúsculas.

writable
Boolean

true para indicar que a nova subchave é gravável; caso contrário, false.

options
RegistryOptions

A opção de Registro a ser usada.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado. Se uma cadeia de caracteres de comprimento zero for especificada para subkey, o objeto RegistryKey atual será retornado.

Atributos

Exceções

subkey é null.

options não especifica uma Opção válida.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

Não é possível gravar no RegistryKey atual; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

Comentários

Para executar essa ação, o usuário deve ter permissão nesse nível e abaixo na hierarquia do Registro.

Cuidado

Não exponha objetos RegistryKey de maneira que um programa mal-intencionado possa criar milhares de subchaves sem sentido ou os pares de chave/valor. Por exemplo, não permita que chamadores insiram chaves ou valores arbitrários.

Para usar o método CreateSubKey, você deve ter uma instância da classe RegistryKey. Para obter uma instância de RegistryKey, use um dos membros estáticos da classe Registry.

Aplica-se a

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Origem:
RegistryKey.cs

Cria uma subchave ou abre uma subchave para acesso de gravação, usando as opções de verificação e Registro de permissão 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

O nome ou o caminho da subchave a ser criado ou aberto.

permissionCheck
RegistryKeyPermissionCheck

Um dos valores de enumeração que especifica se a chave é aberta para acesso de leitura ou de leitura/gravação.

registryOptionsoptions
RegistryOptions

A opção de Registro a ser usada, por exemplo, que cria uma chave volátil.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado.

Atributos

Exceções

subkey é null.

O objeto RegistryKey atual é fechado (chaves fechadas não podem ser acessadas).

Não é possível gravar no objeto RegistryKey atual; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

Comentários

Para obter o objeto atual RegistryKey , especifique uma cadeia de caracteres vazia ("") para subkey.

Aplica-se a

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Origem:
RegistryKey.cs

Cria uma subchave ou abre uma subchave para acesso de gravação, usando a opção de verificação de permissão, opção de Registro e a segurança de 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

O nome ou o caminho da subchave a ser criado ou aberto.

permissionCheck
RegistryKeyPermissionCheck

Um dos valores de enumeração que especifica se a chave é aberta para acesso de leitura ou de leitura/gravação.

registryOptions
RegistryOptions

A opção de Registro a ser usada.

registrySecurity
RegistrySecurity

A segurança de controle de acesso para a nova subchave.

Retornos

A subchave recém-criada ou null caso a operação tenha falhado.

Atributos

Exceções

subkey é null.

O objeto RegistryKey atual está fechado. Chaves fechadas não podem ser acessadas.

Não é possível gravar no objeto RegistryKey atual; por exemplo, ele não foi aberto como uma chave gravável ou o usuário não tem os direitos de acesso necessários.

O nível de aninhamento excede 510.

- ou -

Ocorreu um erro de sistema, como a exclusão da chave ou uma tentativa de criar uma chave na raiz do LocalMachine.

O usuário não tem as permissões necessárias para criar ou abrir a chave do Registro.

Comentários

Para obter o objeto atual RegistryKey , especifique uma cadeia de caracteres vazia ("") para subkey.

Aplica-se a