RegistryKey.CreateSubKey 메서드

정의

새 하위 키를 만들거나 기존 하위 키를 엽니다.

오버로드

Name Description
CreateSubKey(String)

새 하위 키를 만들거나 쓰기 액세스를 위해 기존 하위 키를 엽니다.

CreateSubKey(String, RegistryKeyPermissionCheck)

지정된 권한 검사 옵션을 사용하여 새 하위 키를 만들거나 쓰기 액세스를 위해 기존 하위 키를 엽니다.

CreateSubKey(String, Boolean)

새 하위 키를 만들거나 지정된 액세스 권한이 있는 기존 하위 키를 엽니다. .NET Framework 4.6부터 사용할 수 있습니다.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

지정된 권한 검사 옵션 및 레지스트리 보안을 사용하여 새 하위 키를 만들거나 쓰기 액세스를 위해 기존 하위 키를 엽니다.

CreateSubKey(String, Boolean, RegistryOptions)

새 하위 키를 만들거나 지정된 액세스 권한이 있는 기존 하위 키를 엽니다. .NET Framework 4.6부터 사용할 수 있습니다.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

지정된 권한 검사 및 레지스트리 옵션을 사용하여 하위 키를 만들거나 쓰기 액세스를 위한 하위 키를 엽니다.

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

지정된 권한 검사 옵션, 레지스트리 옵션 및 레지스트리 보안을 사용하여 하위 키를 만들거나 쓰기 액세스를 위한 하위 키를 엽니다.

CreateSubKey(String)

새 하위 키를 만들거나 쓰기 액세스를 위해 기존 하위 키를 엽니다.

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

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우 길이가 0인 문자열을 지정 subkey하면 현재 RegistryKey 개체가 반환됩니다.

예외

subkeynull입니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

RegistryKey 이 메서드가 호출되는 닫힘(닫힌 키에 액세스할 수 없음)입니다.

RegistryKey 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

예제

다음 코드 예제에서는 HKEY_CURRENT_USER 아래에 하위 키를 만들고 내용을 조작한 다음 하위 키를 삭제하는 방법을 보여 줍니다.

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

설명

이 작업을 수행하려면 사용자에게 레지스트리 계층 구조의 이 수준 이하에 대한 권한이 있어야 합니다.

Caution

악의적인 프로그램에서 수천 개의 의미 없는 하위 키 또는 키/값 쌍을 만들 수 있는 방식으로 개체를 노출 RegistryKey 하지 마세요. 예를 들어 호출자가 임의의 키 또는 값을 입력하도록 허용하지 않습니다.

추가 정보

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck)

지정된 권한 검사 옵션을 사용하여 새 하위 키를 만들거나 쓰기 액세스를 위해 기존 하위 키를 엽니다.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey(string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck);
[<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

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

permissionCheck
RegistryKeyPermissionCheck

읽기 또는 읽기/쓰기 액세스를 위해 키를 열지 여부를 지정하는 열거형 값 중 하나입니다.

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우 길이가 0인 문자열을 지정 subkey하면 현재 RegistryKey 개체가 반환됩니다.

특성

예외

subkeynull입니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

permissionCheck 에 잘못된 값이 포함되어 있습니다.

RegistryKey 이 메서드가 호출되는 닫힘(닫힌 키에 액세스할 수 없음)입니다.

RegistryKey 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

설명

이 작업을 수행하려면 사용자에게 레지스트리 계층 구조의 이 수준 이하에 대한 권한이 있어야 합니다.

Caution

악의적인 프로그램에서 수천 개의 의미 없는 하위 키 또는 키/값 쌍을 만들 수 있는 방식으로 개체를 노출 RegistryKey 하지 마세요. 예를 들어 호출자가 임의의 키 또는 값을 입력하도록 허용하지 않습니다.

메서드를 OpenSubKey 사용하려면 클래스의 인스턴스가 RegistryKey 있어야 합니다. 인스턴스를 얻으려면 클래스의 RegistryKey정적 멤버 Registry 중 하나를 사용합니다.

추가 정보

적용 대상

CreateSubKey(String, Boolean)

새 하위 키를 만들거나 지정된 액세스 권한이 있는 기존 하위 키를 엽니다. .NET Framework 4.6부터 사용할 수 있습니다.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, bool writable);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey(string subkey, bool writable);
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CreateSubKey : string * bool -> Microsoft.Win32.RegistryKey
Public Function CreateSubKey (subkey As String, writable As Boolean) As RegistryKey

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

writable
Boolean

true새 하위 키가 쓰기 가능함을 나타내려면 입니다. 그렇지 않으면 . false

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우 길이가 0인 문자열을 지정 subkey하면 현재 RegistryKey 개체가 반환됩니다.

특성

예외

subkeynull입니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

현재 RegistryKey 는 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

설명

이 작업을 수행하려면 사용자에게 레지스트리 계층 구조의 이 수준 이하에 대한 권한이 있어야 합니다.

Caution

악의적인 프로그램에서 수천 개의 의미 없는 하위 키 또는 키/값 쌍을 만들 수 있는 방식으로 개체를 노출 RegistryKey 하지 마세요. 예를 들어 호출자가 임의의 키 또는 값을 입력하도록 허용하지 않습니다.

메서드를 CreateSubKey 사용하려면 클래스의 인스턴스가 RegistryKey 있어야 합니다. 인스턴스를 얻으려면 클래스의 RegistryKey정적 멤버 Registry 중 하나를 사용합니다.

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

지정된 권한 검사 옵션 및 레지스트리 보안을 사용하여 새 하위 키를 만들거나 쓰기 액세스를 위해 기존 하위 키를 엽니다.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::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);
[<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

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

permissionCheck
RegistryKeyPermissionCheck

읽기 또는 읽기/쓰기 액세스를 위해 키를 열지 여부를 지정하는 열거형 값 중 하나입니다.

registrySecurity
RegistrySecurity

새 키에 대한 액세스 제어 보안입니다.

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우 길이가 0인 문자열을 지정 subkey하면 현재 RegistryKey 개체가 반환됩니다.

특성

예외

subkeynull입니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

permissionCheck 에 잘못된 값이 포함되어 있습니다.

RegistryKey 이 메서드가 호출되는 닫힘(닫힌 키에 액세스할 수 없음)입니다.

현재 RegistryKey 는 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

설명

이 메서드는 CreateSubKey 매개 변수로 지정된 registrySecurity 액세스 제어가 있는 레지스트리 키를 만듭니다. 반환되는 개체는 RegistryKey 레지스트리 키를 나타내지만 해당 개체는 매개 변수에 지정된 액세스 제어에 registrySecurity 의해 제한되지 않습니다.

RegistryKeyPermissionCheck.ReadWriteSubTree경우 permissionCheck 읽기/쓰기 액세스를 위해 키가 열립니다. 이 RegistryKeyPermissionCheck.ReadSubTree경우 permissionCheck 읽기 액세스를 위해 키가 열립니다.

이전 버전과의 호환성을 위해 키가 있는 경우 permissionCheckRegistryKeyPermissionCheck.Default 읽기 및 쓰기를 위해 열리고 부모 키에도 있습니다 RegistryKeyPermissionCheck.Default. 부모 키에 다른 설정이 있는 경우 읽기/쓰기 상태는 부모 키의 설정에 의해 제어됩니다.

이 작업을 수행하려면 사용자에게 레지스트리 계층 구조의 이 수준 이하에 대한 권한이 있어야 합니다.

Caution

악의적인 프로그램에서 수천 개의 의미 없는 하위 키 또는 키/값 쌍을 만들 수 있는 방식으로 개체를 노출 RegistryKey 하지 마세요. 예를 들어 호출자가 임의의 키 또는 값을 입력하도록 허용하지 않습니다.

메서드를 OpenSubKey 사용하려면 클래스의 인스턴스가 RegistryKey 있어야 합니다. 인스턴스를 얻으려면 클래스의 RegistryKey정적 멤버 Registry 중 하나를 사용합니다.

추가 정보

적용 대상

CreateSubKey(String, Boolean, RegistryOptions)

새 하위 키를 만들거나 지정된 액세스 권한이 있는 기존 하위 키를 엽니다. .NET Framework 4.6부터 사용할 수 있습니다.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::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);
[<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

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다. 이 문자열은 대/소문자를 구분하지 않습니다.

writable
Boolean

true새 하위 키가 쓰기 가능함을 나타내려면 입니다. 그렇지 않으면 . false

options
RegistryOptions

사용할 레지스트리 옵션입니다.

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우 길이가 0인 문자열을 지정 subkey하면 현재 RegistryKey 개체가 반환됩니다.

특성

예외

subkeynull입니다.

options 은 유효한 옵션을 지정하지 않습니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

현재 RegistryKey 는 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

설명

이 작업을 수행하려면 사용자에게 레지스트리 계층 구조의 이 수준 이하에 대한 권한이 있어야 합니다.

Caution

악의적인 프로그램에서 수천 개의 의미 없는 하위 키 또는 키/값 쌍을 만들 수 있는 방식으로 개체를 노출 RegistryKey 하지 마세요. 예를 들어 호출자가 임의의 키 또는 값을 입력하도록 허용하지 않습니다.

메서드를 CreateSubKey 사용하려면 클래스의 인스턴스가 RegistryKey 있어야 합니다. 인스턴스를 얻으려면 클래스의 RegistryKey정적 멤버 Registry 중 하나를 사용합니다.

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

지정된 권한 검사 및 레지스트리 옵션을 사용하여 하위 키를 만들거나 쓰기 액세스를 위한 하위 키를 엽니다.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::String ^ subkey, Microsoft::Win32::RegistryKeyPermissionCheck permissionCheck, Microsoft::Win32::RegistryOptions options);
[System.Runtime.InteropServices.ComVisible(false)]
public Microsoft.Win32.RegistryKey CreateSubKey(string subkey, Microsoft.Win32.RegistryKeyPermissionCheck permissionCheck, Microsoft.Win32.RegistryOptions options);
[<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, options As RegistryOptions) As RegistryKey

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다.

permissionCheck
RegistryKeyPermissionCheck

읽기 또는 읽기/쓰기 액세스를 위해 키를 열지 여부를 지정하는 열거형 값 중 하나입니다.

registryOptionsoptions
RegistryOptions

사용할 레지스트리 옵션입니다. 예를 들어 휘발성 키를 만듭니다.

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우

특성

예외

subkeynull입니다.

현재 RegistryKey 개체가 닫혀 있습니다(닫힌 키에 액세스할 수 없음).

현재 RegistryKey 개체는 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

설명

현재 RegistryKey 개체를 가져오려면 빈 문자열("")을 지정합니다 subkey.

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

지정된 권한 검사 옵션, 레지스트리 옵션 및 레지스트리 보안을 사용하여 하위 키를 만들거나 쓰기 액세스를 위한 하위 키를 엽니다.

public:
 Microsoft::Win32::RegistryKey ^ CreateSubKey(System::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);
[<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

매개 변수

subkey
String

만들거나 열 하위 키의 이름 또는 경로입니다.

permissionCheck
RegistryKeyPermissionCheck

읽기 또는 읽기/쓰기 액세스를 위해 키를 열지 여부를 지정하는 열거형 값 중 하나입니다.

registryOptions
RegistryOptions

사용할 레지스트리 옵션입니다.

registrySecurity
RegistrySecurity

새 하위 키에 대한 액세스 제어 보안입니다.

반품

새로 만든 하위 키이거나 null 작업이 실패한 경우

특성

예외

subkeynull입니다.

현재 RegistryKey 개체가 닫혀 있습니다. 닫힌 키에 액세스할 수 없습니다.

현재 RegistryKey 개체는 쓸 수 없습니다. 예를 들어 쓰기 가능한 키로 열리지 않았거나 사용자에게 필요한 액세스 권한이 없습니다.

중첩 수준이 510을 초과합니다.

-또는-

키 삭제 또는 루트에 키를 LocalMachine 만들려는 시도와 같은 시스템 오류가 발생했습니다.

사용자에게 레지스트리 키를 만들거나 여는 데 필요한 권한이 없습니다.

설명

현재 RegistryKey 개체를 가져오려면 빈 문자열("")을 지정합니다 subkey.

적용 대상