언어

RegistryKey.CreateSubKey 메서드

정의

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

오버로드

Name Description
CreateSubKey(String)

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

CreateSubKey(String, RegistryKeyPermissionCheck)

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

CreateSubKey(String, Boolean)

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

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

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

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

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

CreateSubKey(String, Boolean, RegistryOptions)

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

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

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

CreateSubKey(String)

Source:
RegistryKey.cs

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

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 개체가 반환됩니다.

예외

subkey은 null입니다.

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

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)

Source:
RegistryKey.cs

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

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

매개 변수

subkey
String

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

permissionCheck
RegistryKeyPermissionCheck

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

반품

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

특성

예외

subkey은 null입니다.

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

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

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

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

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

-또는-

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

설명

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

Caution

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

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

추가 정보

적용 대상

CreateSubKey(String, Boolean)

Source:
RegistryKey.cs

새 하위 키를 만들거나 지정된 액세스 권한이 있는 기존 하위 키를 엽니다. .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

매개 변수

subkey
String

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

writable
Boolean

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

반품

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

특성

예외

subkey은 null입니다.

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

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

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

-또는-

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

설명

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

Caution

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

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

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

Source:
RegistryKey.cs

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

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

매개 변수

subkey
String

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

permissionCheck
RegistryKeyPermissionCheck

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

registryOptions
RegistryOptions

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

반품

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

예외

subkey은 null입니다.

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

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

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

-또는-

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

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

설명

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

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

Source:
RegistryKey.cs

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

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

매개 변수

subkey
String

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

permissionCheck
RegistryKeyPermissionCheck

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

registrySecurity
RegistrySecurity

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

반품

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

특성

예외

subkey은 null입니다.

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

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

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

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

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

-또는-

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

설명

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

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

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

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

Caution

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

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

추가 정보

적용 대상

CreateSubKey(String, Boolean, RegistryOptions)

Source:
RegistryKey.cs

새 하위 키를 만들거나 지정된 액세스 권한이 있는 기존 하위 키를 엽니다. .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

매개 변수

subkey
String

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

writable
Boolean

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

options
RegistryOptions

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

반품

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

특성

예외

subkey은 null입니다.

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

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

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

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

-또는-

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

설명

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

Caution

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

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

적용 대상

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

Source:
RegistryKey.cs

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

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

매개 변수

subkey
String

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

permissionCheck
RegistryKeyPermissionCheck

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

registryOptions
RegistryOptions

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

registrySecurity
RegistrySecurity

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

반품

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

특성

예외

subkey은 null입니다.

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

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

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

-또는-

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

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

설명

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

적용 대상