Dil

RegistryKey.CreateSubKey Yöntem

Tanım

Yeni bir alt anahtar oluşturur veya var olan bir alt anahtarı açar.

Aşırı Yüklemeler

Name Description
CreateSubKey(String)

Yeni bir alt anahtar oluşturur veya yazma erişimi için var olan bir alt anahtarı açar.

CreateSubKey(String, RegistryKeyPermissionCheck)

Belirtilen izin denetimi seçeneğini kullanarak yeni bir alt anahtar oluşturur veya yazma erişimi için var olan bir alt anahtarı açar.

CreateSubKey(String, Boolean)

Yeni bir alt anahtar oluşturur veya belirtilen erişime sahip mevcut bir alt anahtarı açar. .NET Framework 4.6'dan itibaren kullanılabilir.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Belirtilen izin denetimi ve kayıt defteri seçeneklerini kullanarak bir alt anahtar oluşturur veya yazma erişimi için bir alt anahtar açar.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Belirtilen izin denetimi seçeneğini ve kayıt defteri güvenliğini kullanarak yeni bir alt anahtar oluşturur veya yazma erişimi için var olan bir alt anahtarı açar.

CreateSubKey(String, Boolean, RegistryOptions)

Yeni bir alt anahtar oluşturur veya belirtilen erişime sahip mevcut bir alt anahtarı açar. .NET Framework 4.6'dan itibaren kullanılabilir.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Belirtilen izin denetimi seçeneğini, kayıt defteri seçeneğini ve kayıt defteri güvenliğini kullanarak bir alt anahtar oluşturur veya yazma erişimi için bir alt anahtar açar.

CreateSubKey(String)

Kaynak:
RegistryKey.cs

Yeni bir alt anahtar oluşturur veya yazma erişimi için var olan bir alt anahtarı açar.

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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu. Bu dize büyük/küçük harfe duyarlı değildir.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa. için subkeysıfır uzunluklu bir dize belirtilirse, geçerli RegistryKey nesne döndürülür.

Özel durumlar

subkey, null'e eşittir.

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

RegistryKey Bu yöntemin çağrıldığı yöntem kapatılır (kapalı anahtarlara erişilemez).

RegistryKey yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcı gerekli erişim haklarına sahip değil.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Örnekler

Aşağıdaki kod örneğinde, HKEY_CURRENT_USER altında bir alt anahtar oluşturma, içeriğini işleme ve ardından alt anahtarı silme işlemi gösterilmektedir.

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

Açıklamalar

Bu eylemi gerçekleştirmek için kullanıcının kayıt defteri hiyerarşisinde bu düzeyde ve altında izni olmalıdır.

Caution

kötü amaçlı bir programın binlerce anlamsız alt anahtar veya anahtar/değer çifti oluşturabileceği şekilde RegistryKey nesneleri kullanıma sunma. Örneğin, arayanların rastgele anahtarlar veya değerler girmesine izin verme.

Ayrıca bkz.

Şunlara uygulanır

CreateSubKey(String, RegistryKeyPermissionCheck)

Kaynak:
RegistryKey.cs

Belirtilen izin denetimi seçeneğini kullanarak yeni bir alt anahtar oluşturur veya yazma erişimi için var olan bir alt anahtarı açar.

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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu. Bu dize büyük/küçük harfe duyarlı değildir.

permissionCheck
RegistryKeyPermissionCheck

Anahtarın okuma veya okuma/yazma erişimi için açılıp açılmadığını belirten numaralandırma değerlerinden biri.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa. için subkeysıfır uzunluklu bir dize belirtilirse, geçerli RegistryKey nesne döndürülür.

Öznitelikler

Özel durumlar

subkey, null'e eşittir.

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

permissionCheck geçersiz bir değer içeriyor.

RegistryKey Bu yöntemin çağrıldığı yöntem kapatılır (kapalı anahtarlara erişilemez).

RegistryKey yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcı gerekli erişim haklarına sahip değil.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Açıklamalar

Bu eylemi gerçekleştirmek için kullanıcının kayıt defteri hiyerarşisinde bu düzeyde ve altında izni olmalıdır.

Caution

kötü amaçlı bir programın binlerce anlamsız alt anahtar veya anahtar/değer çifti oluşturabileceği şekilde RegistryKey nesneleri kullanıma sunma. Örneğin, arayanların rastgele anahtarlar veya değerler girmesine izin verme.

yöntemini kullanmak OpenSubKey için sınıfının bir örneğine RegistryKey sahip olmanız gerekir. örneğini RegistryKeyalmak için sınıfının statik üyelerinden Registry birini kullanın.

Ayrıca bkz.

Şunlara uygulanır

CreateSubKey(String, Boolean)

Kaynak:
RegistryKey.cs

Yeni bir alt anahtar oluşturur veya belirtilen erişime sahip mevcut bir alt anahtarı açar. .NET Framework 4.6'dan itibaren kullanılabilir.

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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu. Bu dize büyük/küçük harfe duyarlı değildir.

writable
Boolean

true yeni alt anahtarın yazılabilir olduğunu belirtmek için; aksi takdirde , false.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa. için subkeysıfır uzunluklu bir dize belirtilirse, geçerli RegistryKey nesne döndürülür.

Öznitelikler

Özel durumlar

subkey, null'e eşittir.

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

Geçerli RegistryKey yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcının gerekli erişim hakları yok.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Açıklamalar

Bu eylemi gerçekleştirmek için kullanıcının kayıt defteri hiyerarşisinde bu düzeyde ve altında izni olmalıdır.

Caution

kötü amaçlı bir programın binlerce anlamsız alt anahtar veya anahtar/değer çifti oluşturabileceği şekilde RegistryKey nesneleri kullanıma sunma. Örneğin, arayanların rastgele anahtarlar veya değerler girmesine izin verme.

yöntemini kullanmak CreateSubKey için sınıfının bir örneğine RegistryKey sahip olmanız gerekir. örneğini RegistryKeyalmak için sınıfının statik üyelerinden Registry birini kullanın.

Şunlara uygulanır

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Kaynak:
RegistryKey.cs

Belirtilen izin denetimi ve kayıt defteri seçeneklerini kullanarak bir alt anahtar oluşturur veya yazma erişimi için bir alt anahtar açar.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions registryOptions);
public Microsoft.Win32.RegistryKey CreateSubKey(string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions registryOptions);
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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu.

permissionCheck
RegistryKeyPermissionCheck

Anahtarın okuma veya okuma/yazma erişimi için açılıp açılmadığını belirten numaralandırma değerlerinden biri.

registryOptions
RegistryOptions

Kullanılacak kayıt defteri seçeneği; örneğin, geçici bir anahtar oluşturur.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa.

Özel durumlar

subkey, null'e eşittir.

Geçerli RegistryKey nesne kapalı (kapalı anahtarlara erişilemiyor).

Geçerli RegistryKey nesne yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcı gerekli erişim haklarına sahip değil.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

Açıklamalar

Geçerli RegistryKey nesneyi almak için için subkeyboş bir dize ("") belirtin.

Şunlara uygulanır

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Kaynak:
RegistryKey.cs

Belirtilen izin denetimi seçeneğini ve kayıt defteri güvenliğini kullanarak yeni bir alt anahtar oluşturur veya yazma erişimi için var olan bir alt anahtarı açar.

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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu. Bu dize büyük/küçük harfe duyarlı değildir.

permissionCheck
RegistryKeyPermissionCheck

Anahtarın okuma veya okuma/yazma erişimi için açılıp açılmadığını belirten numaralandırma değerlerinden biri.

registrySecurity
RegistrySecurity

Yeni anahtarın erişim denetimi güvenliği.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa. için subkeysıfır uzunluklu bir dize belirtilirse, geçerli RegistryKey nesne döndürülür.

Öznitelikler

Özel durumlar

subkey, null'e eşittir.

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

permissionCheck geçersiz bir değer içeriyor.

RegistryKey Bu yöntemin çağrıldığı yöntem kapatılır (kapalı anahtarlara erişilemez).

Geçerli RegistryKey yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcının gerekli erişim hakları yok.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Açıklamalar

yöntemi, CreateSubKey parametresi tarafından registrySecurity belirtilen erişim denetimine sahip bir kayıt defteri anahtarı oluşturur. Döndürülen RegistryKey nesne kayıt defteri anahtarını temsil eder, ancak bu nesne parametresinde registrySecurity belirtilen erişim denetimi tarafından kısıtlanmaz.

ise permissionCheckRegistryKeyPermissionCheck.ReadWriteSubTree, anahtar okuma/yazma erişimi için açılır. ise permissionCheckRegistryKeyPermissionCheck.ReadSubTree, anahtar okuma erişimi için açılır.

Geriye dönük uyumluluk için anahtar, okuma ve yazma için açılır ve permissionCheckRegistryKeyPermissionCheck.Default üst anahtarda da bulunur RegistryKeyPermissionCheck.Default. Üst anahtarın başka bir ayarı varsa, okuma/yazma durumu üst anahtarın ayarı tarafından denetlenilir.

Bu eylemi gerçekleştirmek için kullanıcının kayıt defteri hiyerarşisinde bu düzeyde ve altında izinlere sahip olması gerekir.

Caution

kötü amaçlı bir programın binlerce anlamsız alt anahtar veya anahtar/değer çifti oluşturabileceği şekilde RegistryKey nesneleri kullanıma sunma. Örneğin, arayanların rastgele anahtarlar veya değerler girmesine izin verme.

yöntemini kullanmak OpenSubKey için sınıfının bir örneğine RegistryKey sahip olmanız gerekir. örneğini RegistryKeyalmak için sınıfının statik üyelerinden Registry birini kullanın.

Ayrıca bkz.

Şunlara uygulanır

CreateSubKey(String, Boolean, RegistryOptions)

Kaynak:
RegistryKey.cs

Yeni bir alt anahtar oluşturur veya belirtilen erişime sahip mevcut bir alt anahtarı açar. .NET Framework 4.6'dan itibaren kullanılabilir.

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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu. Bu dize büyük/küçük harfe duyarlı değildir.

writable
Boolean

true yeni alt anahtarın yazılabilir olduğunu belirtmek için; aksi takdirde , false.

options
RegistryOptions

Kullanılacak kayıt defteri seçeneği.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa. için subkeysıfır uzunluklu bir dize belirtilirse, geçerli RegistryKey nesne döndürülür.

Öznitelikler

Özel durumlar

subkey, null'e eşittir.

options geçerli bir Seçenek belirtmiyor

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

Geçerli RegistryKey yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcının gerekli erişim hakları yok.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Açıklamalar

Bu eylemi gerçekleştirmek için kullanıcının kayıt defteri hiyerarşisinde bu düzeyde ve altında izni olmalıdır.

Caution

kötü amaçlı bir programın binlerce anlamsız alt anahtar veya anahtar/değer çifti oluşturabileceği şekilde RegistryKey nesneleri kullanıma sunma. Örneğin, arayanların rastgele anahtarlar veya değerler girmesine izin verme.

yöntemini kullanmak CreateSubKey için sınıfının bir örneğine RegistryKey sahip olmanız gerekir. örneğini RegistryKeyalmak için sınıfının statik üyelerinden Registry birini kullanın.

Şunlara uygulanır

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Kaynak:
RegistryKey.cs

Belirtilen izin denetimi seçeneğini, kayıt defteri seçeneğini ve kayıt defteri güvenliğini kullanarak bir alt anahtar oluşturur veya yazma erişimi için bir alt anahtar açar.

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

Parametreler

subkey
String

Oluşturulacak veya açılacak alt anahtarın adı veya yolu.

permissionCheck
RegistryKeyPermissionCheck

Anahtarın okuma veya okuma/yazma erişimi için açılıp açılmadığını belirten numaralandırma değerlerinden biri.

registryOptions
RegistryOptions

Kullanılacak kayıt defteri seçeneği.

registrySecurity
RegistrySecurity

Yeni alt anahtar için erişim denetimi güvenliği.

Döndürülenler

Yeni oluşturulan alt anahtar veya null işlem başarısız olduysa.

Öznitelikler

Özel durumlar

subkey, null'e eşittir.

Geçerli RegistryKey nesne kapatıldı. Kapalı anahtarlara erişilemiyor.

Geçerli RegistryKey nesne yazılamaz; örneğin, yazılabilir anahtar olarak açılmadı veya kullanıcı gerekli erişim haklarına sahip değil.

İç içe geçme düzeyi 510'u aşıyor.

-veya-

Anahtarı silme veya kökte anahtar LocalMachine oluşturma girişimi gibi bir sistem hatası oluştu.

Kullanıcının kayıt defteri anahtarını oluşturmak veya açmak için gereken izinleri yok.

Açıklamalar

Geçerli RegistryKey nesneyi almak için için subkeyboş bir dize ("") belirtin.

Şunlara uygulanır