Udostępnij za pośrednictwem


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 programu .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 programu .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 dostępu do zapisu przy użyciu określonej opcji sprawdzania uprawnień, opcji rejestru i zabezpieczeń rejestru.

CreateSubKey(String)

Źródło:
RegistryKey.cs

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 do utworzenia lub otwarcia. Ten ciąg nie uwzględnia wielkości liter.

Zwraca

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

Wyjątki

subkey jest null.

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

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

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

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.

Ostrożność

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

Zobacz też

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck)

Źródło:
RegistryKey.cs

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 do utworzenia lub otwarcia. Ten ciąg nie uwzględnia wielkości liter.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia określająca, czy klucz jest otwarty na potrzeby dostępu do odczytu lub odczytu/zapisu.

Zwraca

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

Atrybuty

Wyjątki

subkey jest null.

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

permissionCheck zawiera nieprawidłową wartość.

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

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

Uwagi

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

Ostrożność

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

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

Zobacz też

Dotyczy

CreateSubKey(String, Boolean)

Źródło:
RegistryKey.cs

Tworzy nowy podklucz lub otwiera istniejący podklucz z określonym dostępem. Dostępne od programu .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 do utworzenia lub otwarcia. Ten ciąg nie uwzględnia wielkości liter.

writable
Boolean

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

Zwraca

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

Atrybuty

Wyjątki

subkey jest null.

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

Uwagi

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

Ostrożność

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

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

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Źródło:
RegistryKey.cs

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);
[System.Runtime.InteropServices.ComVisible(false)]
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);
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 do utworzenia lub otwarcia. Ten ciąg nie uwzględnia wielkości liter.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia określająca, czy klucz jest otwarty na potrzeby dostępu do odczytu lub odczytu/zapisu.

registrySecurity
RegistrySecurity

Zabezpieczenia kontroli dostępu dla nowego klucza.

Zwraca

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

Atrybuty

Wyjątki

subkey jest null.

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

permissionCheck zawiera nieprawidłową wartość.

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

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

Uwagi

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

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

W celu zapewnienia zgodności z poprzednimi wersjami klucz jest otwarty do odczytu i zapisu, jeśli permissionCheck jest RegistryKeyPermissionCheck.Default, a klucz nadrzędny ma również RegistryKeyPermissionCheck.Default. Jeśli klucz nadrzędny ma jakiekolwiek 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.

Ostrożność

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

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

Zobacz też

Dotyczy

CreateSubKey(String, Boolean, RegistryOptions)

Źródło:
RegistryKey.cs

Tworzy nowy podklucz lub otwiera istniejący podklucz z określonym dostępem. Dostępne od programu .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 do utworzenia lub otwarcia. Ten ciąg nie uwzględnia wielkości liter.

writable
Boolean

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

options
RegistryOptions

Opcja rejestru do użycia.

Zwraca

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

Atrybuty

Wyjątki

subkey jest null.

options nie określa prawidłowej opcji.

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

Uwagi

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

Ostrożność

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

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

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Źródło:
RegistryKey.cs

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 do utworzenia lub otwarcia.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia określająca, czy klucz jest otwarty na potrzeby dostępu do odczytu lub odczytu/zapisu.

registryOptionsoptions
RegistryOptions

Opcja rejestru do użycia; na przykład spowoduje to utworzenie klucza lotnego.

Zwraca

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

Atrybuty

Wyjątki

subkey jest null.

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

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

Uwagi

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

Dotyczy

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Źródło:
RegistryKey.cs

Tworzy podklucz lub otwiera podklucz 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);
[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);
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 do utworzenia lub otwarcia.

permissionCheck
RegistryKeyPermissionCheck

Jedna z wartości wyliczenia określająca, czy klucz jest otwarty na potrzeby dostępu do odczytu lub odczytu/zapisu.

registryOptions
RegistryOptions

Opcja rejestru do użycia.

registrySecurity
RegistrySecurity

Zabezpieczenia kontroli dostępu dla nowego podklucza.

Zwraca

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

Atrybuty

Wyjątki

subkey jest null.

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

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

Poziom zagnieżdżania przekracza 510.

-lub-

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

Użytkownik nie ma uprawnień wymaganych do utworzenia lub otwarcia klucza rejestru.

Uwagi

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

Dotyczy