Freigeben über


RegistryKey.CreateSubKey Methode

Definition

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel.

Überlädt

CreateSubKey(String)

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel für den Schreibzugriff.

CreateSubKey(String, RegistryKeyPermissionCheck)

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungsoption.

CreateSubKey(String, Boolean)

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel mit dem angegebenen Zugriff. Verfügbar ab .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungsoption und der Registrierungssicherheit.

CreateSubKey(String, Boolean, RegistryOptions)

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel mit dem angegebenen Zugriff. Verfügbar ab .NET Framework 4.6.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Erstellt einen Unterschlüssel oder öffnet einen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungs- und Registrierungsoptionen.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Erstellt einen Unterschlüssel oder öffnet einen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungsoption, Registrierungsoption und Registrierungssicherheit.

CreateSubKey(String)

Quelle:
RegistryKey.cs

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel für den Schreibzugriff.

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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht beachtet.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist. Wenn für subkeyeine leere Zeichenfolge angegeben wird, wird das aktuelle RegistryKey-Objekt zurückgegeben.

Ausnahmen

subkey ist null.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

Die RegistryKey, für die diese Methode aufgerufen wird, wird geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Die RegistryKey kann nicht geschrieben werden; Beispielsweise wurde sie nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie unter HKEY_CURRENT_USER einen Unterschlüssel erstellen, dessen Inhalt bearbeiten und dann den Unterschlüssel löschen.

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

Hinweise

Um diese Aktion auszuführen, muss der Benutzer über die Berechtigung auf dieser Ebene und unter der Registrierungshierarchie verfügen.

Vorsicht

Machen Sie RegistryKey Objekte nicht so verfügbar, dass ein schädliches Programm Tausende von bedeutungslosen Unterschlüsseln oder Schlüssel-Wert-Paaren erstellen kann. Lassen Sie beispielsweise nicht zu, dass Anrufer beliebige Schlüssel oder Werte eingeben.

Weitere Informationen

Gilt für:

CreateSubKey(String, RegistryKeyPermissionCheck)

Quelle:
RegistryKey.cs

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungsoption.

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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht beachtet.

permissionCheck
RegistryKeyPermissionCheck

Einer der Enumerationswerte, der angibt, ob der Schlüssel für Lese- oder Lese-/Schreibzugriff geöffnet wird.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist. Wenn für subkeyeine leere Zeichenfolge angegeben wird, wird das aktuelle RegistryKey-Objekt zurückgegeben.

Attribute

Ausnahmen

subkey ist null.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

permissionCheck enthält einen ungültigen Wert.

Die RegistryKey, für die diese Methode aufgerufen wird, wird geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Die RegistryKey kann nicht geschrieben werden; Es wurde beispielsweise nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Hinweise

Um diese Aktion auszuführen, muss der Benutzer über die Berechtigung auf dieser Ebene und unter der Registrierungshierarchie verfügen.

Vorsicht

Machen Sie RegistryKey Objekte nicht so verfügbar, dass ein schädliches Programm Tausende von bedeutungslosen Unterschlüsseln oder Schlüssel-Wert-Paaren erstellen kann. Lassen Sie beispielsweise nicht zu, dass Anrufer beliebige Schlüssel oder Werte eingeben.

Um die OpenSubKey-Methode verwenden zu können, müssen Sie über eine Instanz der RegistryKey-Klasse verfügen. Verwenden Sie zum Abrufen einer Instanz von RegistryKeyeines der statischen Member der Registry-Klasse.

Weitere Informationen

Gilt für:

CreateSubKey(String, Boolean)

Quelle:
RegistryKey.cs

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel mit dem angegebenen Zugriff. Verfügbar ab .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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht beachtet.

writable
Boolean

true, um anzugeben, dass der neue Unterschlüssel schreibbar ist; andernfalls false.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist. Wenn für subkeyeine leere Zeichenfolge angegeben wird, wird das aktuelle RegistryKey-Objekt zurückgegeben.

Attribute

Ausnahmen

subkey ist null.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

Die aktuelle RegistryKey kann nicht geschrieben werden; Es wurde beispielsweise nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Hinweise

Um diese Aktion auszuführen, muss der Benutzer über die Berechtigung auf dieser Ebene und unter der Registrierungshierarchie verfügen.

Vorsicht

Machen Sie RegistryKey Objekte nicht so verfügbar, dass ein schädliches Programm Tausende von bedeutungslosen Unterschlüsseln oder Schlüssel-Wert-Paaren erstellen kann. Lassen Sie beispielsweise nicht zu, dass Anrufer beliebige Schlüssel oder Werte eingeben.

Um die CreateSubKey-Methode verwenden zu können, müssen Sie über eine Instanz der RegistryKey-Klasse verfügen. Verwenden Sie zum Abrufen einer Instanz von RegistryKeyeines der statischen Member der Registry-Klasse.

Gilt für:

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Quelle:
RegistryKey.cs

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungsoption und der Registrierungssicherheit.

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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht beachtet.

permissionCheck
RegistryKeyPermissionCheck

Einer der Enumerationswerte, der angibt, ob der Schlüssel für Lese- oder Lese-/Schreibzugriff geöffnet wird.

registrySecurity
RegistrySecurity

Die Zugriffssteuerungssicherheit für den neuen Schlüssel.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist. Wenn für subkeyeine leere Zeichenfolge angegeben wird, wird das aktuelle RegistryKey-Objekt zurückgegeben.

Attribute

Ausnahmen

subkey ist null.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

permissionCheck enthält einen ungültigen Wert.

Die RegistryKey, für die diese Methode aufgerufen wird, wird geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Die aktuelle RegistryKey kann nicht geschrieben werden; Es wurde beispielsweise nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Hinweise

Mit der CreateSubKey-Methode wird ein Registrierungsschlüssel erstellt, der über die durch den parameter registrySecurity angegebene Zugriffssteuerung verfügt. Das zurückgegebene RegistryKey-Objekt stellt den Registrierungsschlüssel dar, dieses Objekt ist jedoch nicht durch die im registrySecurity Parameter angegebene Zugriffssteuerung eingeschränkt.

Wenn permissionCheckRegistryKeyPermissionCheck.ReadWriteSubTreeist, wird der Schlüssel für Lese-/Schreibzugriff geöffnet. Wenn permissionCheckRegistryKeyPermissionCheck.ReadSubTreeist, wird der Schlüssel für den Lesezugriff geöffnet.

Aus Gründen der Abwärtskompatibilität wird der Schlüssel zum Lesen und Schreiben geöffnet, wenn permissionCheckRegistryKeyPermissionCheck.Default ist und der übergeordnete Schlüssel auch RegistryKeyPermissionCheck.Defaulthat. Wenn der übergeordnete Schlüssel eine andere Einstellung aufweist, wird der Lese-/Schreibstatus durch die Einstellung des übergeordneten Schlüssels gesteuert.

Um diese Aktion auszuführen, muss der Benutzer über Berechtigungen auf dieser Ebene und unter der Registrierungshierarchie verfügen.

Vorsicht

Machen Sie RegistryKey Objekte nicht so verfügbar, dass ein schädliches Programm Tausende von bedeutungslosen Unterschlüsseln oder Schlüssel-Wert-Paaren erstellen kann. Lassen Sie beispielsweise nicht zu, dass Anrufer beliebige Schlüssel oder Werte eingeben.

Um die OpenSubKey-Methode verwenden zu können, müssen Sie über eine Instanz der RegistryKey-Klasse verfügen. Verwenden Sie zum Abrufen einer Instanz von RegistryKeyeines der statischen Member der Registry-Klasse.

Weitere Informationen

Gilt für:

CreateSubKey(String, Boolean, RegistryOptions)

Quelle:
RegistryKey.cs

Erstellt einen neuen Unterschlüssel oder öffnet einen vorhandenen Unterschlüssel mit dem angegebenen Zugriff. Verfügbar ab .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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht beachtet.

writable
Boolean

true, um anzugeben, dass der neue Unterschlüssel schreibbar ist; andernfalls false.

options
RegistryOptions

Die zu verwendende Registrierungsoption.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist. Wenn für subkeyeine leere Zeichenfolge angegeben wird, wird das aktuelle RegistryKey-Objekt zurückgegeben.

Attribute

Ausnahmen

subkey ist null.

options gibt keine gültige Option an.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

Die aktuelle RegistryKey kann nicht geschrieben werden; Es wurde beispielsweise nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Hinweise

Um diese Aktion auszuführen, muss der Benutzer über die Berechtigung auf dieser Ebene und unter der Registrierungshierarchie verfügen.

Vorsicht

Machen Sie RegistryKey Objekte nicht so verfügbar, dass ein schädliches Programm Tausende von bedeutungslosen Unterschlüsseln oder Schlüssel-Wert-Paaren erstellen kann. Lassen Sie beispielsweise nicht zu, dass Anrufer beliebige Schlüssel oder Werte eingeben.

Um die CreateSubKey-Methode verwenden zu können, müssen Sie über eine Instanz der RegistryKey-Klasse verfügen. Verwenden Sie zum Abrufen einer Instanz von RegistryKeyeines der statischen Member der Registry-Klasse.

Gilt für:

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Quelle:
RegistryKey.cs

Erstellt einen Unterschlüssel oder öffnet einen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungs- und Registrierungsoptionen.

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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels.

permissionCheck
RegistryKeyPermissionCheck

Einer der Enumerationswerte, der angibt, ob der Schlüssel für Lese- oder Lese-/Schreibzugriff geöffnet wird.

registryOptionsoptions
RegistryOptions

Die zu verwendende Registrierungsoption; Das erstellt z. B. einen veränderliche Schlüssel.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist.

Attribute

Ausnahmen

subkey ist null.

Das aktuelle RegistryKey-Objekt ist geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Das aktuelle RegistryKey-Objekt kann nicht geschrieben werden. Beispielsweise wurde sie nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

Hinweise

Um das aktuelle RegistryKey-Objekt abzurufen, geben Sie eine leere Zeichenfolge ("") für subkeyan.

Gilt für:

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Quelle:
RegistryKey.cs

Erstellt einen Unterschlüssel oder öffnet einen Unterschlüssel für den Schreibzugriff mithilfe der angegebenen Berechtigungsprüfungsoption, Registrierungsoption und Registrierungssicherheit.

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

Parameter

subkey
String

Der Name oder Pfad des zu erstellenden oder geöffneten Unterschlüssels.

permissionCheck
RegistryKeyPermissionCheck

Einer der Enumerationswerte, der angibt, ob der Schlüssel für Lese- oder Lese-/Schreibzugriff geöffnet wird.

registryOptions
RegistryOptions

Die zu verwendende Registrierungsoption.

registrySecurity
RegistrySecurity

Die Zugriffssteuerungssicherheit für den neuen Unterschlüssel.

Gibt zurück

Der neu erstellte Unterschlüssel oder null, wenn der Vorgang fehlgeschlagen ist.

Attribute

Ausnahmen

subkey ist null.

Das aktuelle RegistryKey-Objekt wird geschlossen. Auf geschlossene Schlüssel kann nicht zugegriffen werden.

Das aktuelle RegistryKey-Objekt kann nicht geschrieben werden. Beispielsweise wurde sie nicht als schreibbarer Schlüssel geöffnet, oder der Benutzer verfügt nicht über die erforderlichen Zugriffsrechte.

Die Schachtelungsebene überschreitet 510.

-oder-

Es ist ein Systemfehler aufgetreten, z. B. das Löschen des Schlüssels oder ein Versuch, einen Schlüssel im LocalMachine Stamm zu erstellen.

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen zum Erstellen oder Öffnen des Registrierungsschlüssels.

Hinweise

Um das aktuelle RegistryKey-Objekt abzurufen, geben Sie eine leere Zeichenfolge ("") für subkeyan.

Gilt für: