RegistryKey.CreateSubKey Metoda

Definicja

Tworzy nowy podklucz lub otwiera istniejący podklucz.

Przeciążenia

CreateSubKey(String)

Tworzy nowy podklucz lub otwiera istniejący podklucz na potrzeby dostępu do zapisu.

CreateSubKey(String, RegistryKeyPermissionCheck)

Tworzy nowy podklucz lub otwiera istniejący podklucz dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień.

CreateSubKey(String, Boolean)

Tworzy nowy podklucz lub otwiera istniejący podklucz z określonym dostępem. Dostępne od .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Tworzy nowy podklucz lub otwiera istniejący podklucz dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień i zabezpieczeń rejestru.

CreateSubKey(String, Boolean, RegistryOptions)

Tworzy nowy podklucz lub otwiera istniejący podklucz z określonym dostępem. Dostępne od wersji .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Tworzy podklucz lub otwiera podklucz na potrzeby dostępu do zapisu przy użyciu określonych opcji sprawdzania uprawnień i rejestru.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Tworzy podklucz lub otwiera podklucz na potrzeby dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień, opcji rejestru i zabezpieczeń rejestru.

CreateSubKey(String)

Tworzy nowy podklucz lub otwiera istniejący podklucz na potrzeby dostępu do zapisu.

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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty. W tym ciągu nie jest rozróżniana wielkość liter.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się. Jeśli określono ciąg o zerowej długości dla subkeyelementu , zwracany jest bieżący RegistryKey obiekt.

Wyjątki

subkey to null.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

Wywoływana RegistryKey metoda jest zamknięta (nie można uzyskać dostępu do kluczy zamkniętych).

RegistryKey Nie można zapisać tego elementu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma niezbędnych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w LocalMachine katalogu głównym.

Przykłady

Poniższy przykład kodu pokazuje, jak utworzyć podklucz w HKEY_CURRENT_USER, manipulować jego zawartością, a następnie usunąć podklucz.

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

Uwagi

Aby wykonać tę akcję, użytkownik musi mieć uprawnienia na tym poziomie i poniżej w hierarchii rejestru.

Przestroga

Nie ujawniaj RegistryKey obiektów w taki sposób, że złośliwy program może tworzyć tysiące bezsensownych podkluczów lub par klucz/wartość. Na przykład nie wolno pozwalać obiektom wywołującym na wprowadzanie umownych kluczy ani wartości.

Zobacz też

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck)

Tworzy nowy podklucz lub otwiera istniejący podklucz dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień.

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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty. W tym ciągu nie jest rozróżniana wielkość liter.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia, która określa, czy klucz jest otwarty w celu odczytu lub odczytu i zapisu.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się. Jeśli określono ciąg o zerowej długości dla subkeyelementu , zwracany jest bieżący RegistryKey obiekt.

Atrybuty

Wyjątki

subkey to null.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

permissionCheck zawiera nieprawidłową wartość.

Wywoływana RegistryKey metoda jest zamknięta (nie można uzyskać dostępu do kluczy zamkniętych).

RegistryKey Nie można zapisać tego elementu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma niezbędnych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w LocalMachine katalogu głównym.

Uwagi

Aby wykonać tę akcję, użytkownik musi mieć uprawnienia na tym poziomie i poniżej w hierarchii rejestru.

Przestroga

Nie ujawniaj RegistryKey obiektów w taki sposób, że złośliwy program może tworzyć tysiące bezsensownych podkluczów lub par klucz/wartość. Na przykład nie wolno pozwalać obiektom wywołującym na wprowadzanie umownych kluczy ani wartości.

Aby użyć OpenSubKey metody, musisz mieć wystąpienie RegistryKey klasy. Aby uzyskać wystąpienie klasy RegistryKey, użyj jednego ze statycznych Registry elementów członkowskich klasy .

Zobacz też

Dotyczy

CreateSubKey(String, Boolean)

Tworzy nowy podklucz lub otwiera istniejący podklucz z określonym dostępem. Dostępne od .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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty. W tym ciągu nie jest rozróżniana wielkość liter.

writable
Boolean

true aby wskazać, że nowy podklucz jest zapisywalny; w przeciwnym razie , false.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się. Jeśli określono ciąg o zerowej długości dla subkeyelementu , zwracany jest bieżący RegistryKey obiekt.

Atrybuty

Wyjątki

subkey to null.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

Nie można zapisać bieżącego RegistryKey elementu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma niezbędnych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w LocalMachine katalogu głównym.

Uwagi

Aby wykonać tę akcję, użytkownik musi mieć uprawnienia na tym poziomie i poniżej w hierarchii rejestru.

Przestroga

Nie ujawniaj RegistryKey obiektów w taki sposób, że złośliwy program może tworzyć tysiące bezsensownych podkluczów lub par klucz/wartość. Na przykład nie wolno pozwalać obiektom wywołującym na wprowadzanie umownych kluczy ani wartości.

Aby użyć CreateSubKey metody, musisz mieć wystąpienie RegistryKey klasy. Aby uzyskać wystąpienie klasy RegistryKey, użyj jednego ze statycznych Registry elementów członkowskich klasy .

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Tworzy nowy podklucz lub otwiera istniejący podklucz dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień i zabezpieczeń rejestru.

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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty. W tym ciągu nie jest rozróżniana wielkość liter.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia, która określa, czy klucz jest otwarty w celu odczytu lub odczytu i zapisu.

registrySecurity
RegistrySecurity

Zabezpieczenia kontroli dostępu dla nowego klucza.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się. Jeśli określono ciąg o zerowej długości dla subkeyelementu , zwracany jest bieżący RegistryKey obiekt.

Atrybuty

Wyjątki

subkey to null.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

permissionCheck zawiera nieprawidłową wartość.

Element RegistryKey , na którym jest wywoływana ta metoda, jest zamknięty (nie można uzyskać dostępu do zamkniętych kluczy).

Nie można zapisać bieżącego RegistryKey elementu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma niezbędnych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w LocalMachine katalogu głównym.

Uwagi

Metoda CreateSubKey tworzy klucz rejestru, który ma kontrolę dostępu określoną przez registrySecurity parametr . Zwracany RegistryKey obiekt reprezentuje klucz rejestru, ale ten obiekt nie jest ograniczony przez kontrolę dostępu określoną w parametrze registrySecurity .

Jeśli permissionCheck jest to RegistryKeyPermissionCheck.ReadWriteSubTree, klucz jest otwarty dla dostępu do odczytu/zapisu. Jeśli permissionCheck jest to RegistryKeyPermissionCheck.ReadSubTree, klucz jest otwarty w celu uzyskania dostępu do odczytu.

W przypadku zgodności z poprzednimi wersjami klucz jest otwarty do odczytu i zapisu, jeśli permissionCheck jest RegistryKeyPermissionCheck.Default i klucz nadrzędny ma RegistryKeyPermissionCheck.Defaultrównież wartość . Jeśli klucz nadrzędny ma inne ustawienie, stan odczytu/zapisu jest kontrolowany przez ustawienie klucza nadrzędnego.

Aby wykonać tę akcję, użytkownik musi mieć uprawnienia na tym poziomie i poniżej w hierarchii rejestru.

Przestroga

Nie ujawniaj RegistryKey obiektów w taki sposób, że złośliwy program może tworzyć tysiące bezsensownych podkluczów lub par klucz/wartość. Na przykład nie wolno pozwalać obiektom wywołującym na wprowadzanie umownych kluczy ani wartości.

Aby użyć OpenSubKey metody, musisz mieć wystąpienie RegistryKey klasy. Aby uzyskać wystąpienie klasy RegistryKey, użyj jednego ze statycznych Registry elementów członkowskich klasy .

Zobacz też

Dotyczy

CreateSubKey(String, Boolean, RegistryOptions)

Tworzy nowy podklucz lub otwiera istniejący podklucz z określonym dostępem. Dostępne od wersji .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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty. W tym ciągu nie jest rozróżniana wielkość liter.

writable
Boolean

true aby wskazać, że nowy podklucz jest zapisywalny; w przeciwnym razie , false.

options
RegistryOptions

Opcja rejestru do użycia.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się. Jeśli określono ciąg o zerowej długości dla subkey, zwracany jest bieżący RegistryKey obiekt.

Atrybuty

Wyjątki

subkey to null.

options nie określa prawidłowej opcji.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

Nie można zapisać bieżącego RegistryKey elementu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma niezbędnych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w LocalMachine katalogu głównym.

Uwagi

Aby wykonać tę akcję, użytkownik musi mieć uprawnienia na tym poziomie i poniżej w hierarchii rejestru.

Przestroga

Nie ujawniaj RegistryKey obiektów w taki sposób, że złośliwy program może tworzyć tysiące bez znaczenia podklucze lub pary klucz/wartość. Na przykład nie wolno pozwalać obiektom wywołującym na wprowadzanie umownych kluczy ani wartości.

Aby można było użyć CreateSubKey metody , musisz mieć wystąpienie RegistryKey klasy . Aby uzyskać wystąpienie klasy RegistryKey, użyj jednego ze statycznych elementów członkowskich Registry klasy .

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Tworzy podklucz lub otwiera podklucz na potrzeby dostępu do zapisu przy użyciu określonych opcji sprawdzania uprawnień i rejestru.

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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia, która określa, czy klucz jest otwarty w celu odczytu lub odczytu i zapisu.

registryOptionsoptions
RegistryOptions

Opcja rejestru do użycia; na przykład tworzy klucz volatile.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się.

Atrybuty

Wyjątki

subkey to null.

Bieżący RegistryKey obiekt jest zamknięty (nie można uzyskać dostępu do zamkniętych kluczy).

Nie można zapisać bieżącego RegistryKey obiektu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma wymaganych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w katalogu LocalMachine głównym.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

Uwagi

Aby uzyskać bieżący RegistryKey obiekt, określ pusty ciąg ("") dla subkey.

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Tworzy podklucz lub otwiera podklucz na potrzeby dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień, opcji rejestru i zabezpieczeń rejestru.

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

Parametry

subkey
String

Nazwa lub ścieżka podklucza, który ma zostać utworzony lub otwarty.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia, która określa, czy klucz jest otwarty w celu odczytu lub odczytu i zapisu.

registryOptions
RegistryOptions

Opcja rejestru do użycia.

registrySecurity
RegistrySecurity

Zabezpieczenia kontroli dostępu dla nowego podklucza.

Zwraca

RegistryKey

Nowo utworzony podklucz lub null jeśli operacja nie powiodła się.

Atrybuty

Wyjątki

subkey to null.

Bieżący RegistryKey obiekt jest zamknięty. Nie można uzyskać dostępu do zamkniętych kluczy.

Nie można zapisać bieżącego RegistryKey obiektu, na przykład nie został otwarty jako klucz zapisywalny lub użytkownik nie ma wymaganych praw dostępu.

Poziomów zagnieżdżenia przekracza 510.

-lub- Wystąpił błąd systemowy, taki jak usunięcie klucza lub próba utworzenia klucza w katalogu LocalMachine głównym.

Użytkownik nie posiada uprawnień niezbędnych do utworzenia lub otwarcia klucza rejestru.

Uwagi

Aby uzyskać bieżący RegistryKey obiekt, określ pusty ciąg ("") dla subkey.

Dotyczy