RegistryKey.CreateSubKey メソッド

定義

新しいサブキーを作成するか、既存のサブキーを開きます。

オーバーロード

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)

ソース:
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

作成または開くサブキーの名前またはパス。 この文字列では大文字と小文字は区別されません。

戻り値

新しく作成されたサブキー。操作が失敗した場合は nullsubkeyに長さ 0 の文字列を指定すると、現在の 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

注釈

このアクションを実行するには、ユーザーはレジストリ階層のこのレベル以下のアクセス許可を持っている必要があります。

注意

悪意のあるプログラムが何千もの無意味なサブキーやキー/値ペアを作成するような方法で、RegistryKey オブジェクトを公開しないでください。 たとえば、呼び出し元が任意のキーまたは値を入力できないようにします。

こちらもご覧ください

適用対象

CreateSubKey(String, RegistryKeyPermissionCheck)

ソース:
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

キーを読み取りアクセスまたは読み取り/書き込みアクセス用に開くかどうかを指定する列挙値の 1 つ。

戻り値

新しく作成されたサブキー。操作が失敗した場合は nullsubkeyに長さ 0 の文字列を指定すると、現在の RegistryKey オブジェクトが返されます。

属性

例外

subkeynullです。

ユーザーには、レジストリ キーを作成または開くために必要なアクセス許可がありません。

permissionCheck に無効な値が含まれています。

このメソッドが呼び出されている RegistryKey は閉じられています (閉じたキーにはアクセスできません)。

RegistryKey に書き込むことができません。たとえば、書き込み可能なキーとして開かれていたり、ユーザーが必要なアクセス権を持っていない場合などです。

入れ子レベルが 510 を超えています。

-又は-

キーの削除や、LocalMachine ルートでのキーの作成試行など、システム エラーが発生しました。

注釈

このアクションを実行するには、ユーザーはレジストリ階層のこのレベル以下のアクセス許可を持っている必要があります。

注意

悪意のあるプログラムが何千もの無意味なサブキーやキー/値ペアを作成するような方法で、RegistryKey オブジェクトを公開しないでください。 たとえば、呼び出し元が任意のキーまたは値を入力できないようにします。

OpenSubKey メソッドを使用するには、RegistryKey クラスのインスタンスが必要です。 RegistryKeyのインスタンスを取得するには、Registry クラスのいずれかの静的メンバーを使用します。

こちらもご覧ください

適用対象

CreateSubKey(String, Boolean)

ソース:
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します。

戻り値

新しく作成されたサブキー。操作が失敗した場合は nullsubkeyに長さ 0 の文字列を指定すると、現在の RegistryKey オブジェクトが返されます。

属性

例外

subkeynullです。

ユーザーには、レジストリ キーを作成または開くために必要なアクセス許可がありません。

現在の RegistryKey に書き込むことができません。たとえば、書き込み可能なキーとして開かれていたり、ユーザーが必要なアクセス権を持っていない場合などです。

入れ子レベルが 510 を超えています。

-又は-

キーの削除や、LocalMachine ルートでのキーの作成試行など、システム エラーが発生しました。

注釈

このアクションを実行するには、ユーザーはレジストリ階層のこのレベル以下のアクセス許可を持っている必要があります。

注意

悪意のあるプログラムが何千もの無意味なサブキーやキー/値ペアを作成するような方法で、RegistryKey オブジェクトを公開しないでください。 たとえば、呼び出し元が任意のキーまたは値を入力できないようにします。

CreateSubKey メソッドを使用するには、RegistryKey クラスのインスタンスが必要です。 RegistryKeyのインスタンスを取得するには、Registry クラスのいずれかの静的メンバーを使用します。

適用対象

CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)

ソース:
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

キーを読み取りアクセスまたは読み取り/書き込みアクセス用に開くかどうかを指定する列挙値の 1 つ。

registrySecurity
RegistrySecurity

新しいキーのアクセス制御セキュリティ。

戻り値

新しく作成されたサブキー。操作が失敗した場合は nullsubkeyに長さ 0 の文字列を指定すると、現在の RegistryKey オブジェクトが返されます。

属性

例外

subkeynullです。

ユーザーには、レジストリ キーを作成または開くために必要なアクセス許可がありません。

permissionCheck に無効な値が含まれています。

このメソッドが呼び出されている RegistryKey は閉じられています (閉じたキーにはアクセスできません)。

現在の RegistryKey に書き込むことができません。たとえば、書き込み可能なキーとして開かれていたり、ユーザーが必要なアクセス権を持っていない場合などです。

入れ子レベルが 510 を超えています。

-又は-

キーの削除や、LocalMachine ルートでのキーの作成試行など、システム エラーが発生しました。

注釈

CreateSubKey メソッドは、registrySecurity パラメーターで指定されたアクセス制御を持つレジストリ キーを作成します。 返される RegistryKey オブジェクトはレジストリ キーを表しますが、そのオブジェクトは、registrySecurity パラメーターで指定されたアクセス制御によって制限されません。

permissionCheckRegistryKeyPermissionCheck.ReadWriteSubTreeされている場合、キーは読み取り/書き込みアクセス用に開かれます。 permissionCheckRegistryKeyPermissionCheck.ReadSubTreeされている場合、キーは読み取りアクセス用に開かれます。

下位互換性のために、permissionCheckRegistryKeyPermissionCheck.Default され、親キーにも RegistryKeyPermissionCheck.Defaultがある場合、キーは読み取りと書き込みのために開かれます。 親キーに他の設定がある場合、読み取り/書き込み状態は親キーの設定によって制御されます。

このアクションを実行するには、ユーザーはレジストリ階層のこのレベル以下のアクセス許可を持っている必要があります。

注意

悪意のあるプログラムが何千もの無意味なサブキーやキー/値ペアを作成するような方法で、RegistryKey オブジェクトを公開しないでください。 たとえば、呼び出し元が任意のキーまたは値を入力できないようにします。

OpenSubKey メソッドを使用するには、RegistryKey クラスのインスタンスが必要です。 RegistryKeyのインスタンスを取得するには、Registry クラスのいずれかの静的メンバーを使用します。

こちらもご覧ください

適用対象

CreateSubKey(String, Boolean, RegistryOptions)

ソース:
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

使用するレジストリ オプション。

戻り値

新しく作成されたサブキー。操作が失敗した場合は nullsubkeyに長さ 0 の文字列を指定すると、現在の RegistryKey オブジェクトが返されます。

属性

例外

subkeynullです。

options は有効なオプションを指定しません。

ユーザーには、レジストリ キーを作成または開くために必要なアクセス許可がありません。

現在の RegistryKey に書き込むことができません。たとえば、書き込み可能なキーとして開かれていたり、ユーザーが必要なアクセス権を持っていない場合などです。

入れ子レベルが 510 を超えています。

-又は-

キーの削除や、LocalMachine ルートでのキーの作成試行など、システム エラーが発生しました。

注釈

このアクションを実行するには、ユーザーはレジストリ階層のこのレベル以下のアクセス許可を持っている必要があります。

注意

悪意のあるプログラムが何千もの無意味なサブキーやキー/値ペアを作成するような方法で、RegistryKey オブジェクトを公開しないでください。 たとえば、呼び出し元が任意のキーまたは値を入力できないようにします。

CreateSubKey メソッドを使用するには、RegistryKey クラスのインスタンスが必要です。 RegistryKeyのインスタンスを取得するには、Registry クラスのいずれかの静的メンバーを使用します。

適用対象

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)

ソース:
RegistryKey.cs

指定したアクセス許可チェックとレジストリ オプションを使用して、サブキーを作成するか、書き込みアクセス用のサブキーを開きます。

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

パラメーター

subkey
String

作成または開くサブキーの名前またはパス。

permissionCheck
RegistryKeyPermissionCheck

キーを読み取りアクセスまたは読み取り/書き込みアクセス用に開くかどうかを指定する列挙値の 1 つ。

registryOptionsoptions
RegistryOptions

使用するレジストリ オプション。たとえば、揮発性キーを作成します。

戻り値

新しく作成されたサブキー。操作が失敗した場合は null

属性

例外

subkeynullです。

現在の RegistryKey オブジェクトが閉じられています (閉じたキーにはアクセスできません)。

現在の RegistryKey オブジェクトに書き込むことができません。たとえば、書き込み可能なキーとして開かれていたり、ユーザーが必要なアクセス権を持っていない場合などです。

入れ子レベルが 510 を超えています。

-又は-

キーの削除や、LocalMachine ルートでのキーの作成の試行など、システム エラーが発生しました。

ユーザーには、レジストリ キーを作成または開くために必要なアクセス許可がありません。

注釈

現在の RegistryKey オブジェクトを取得するには、subkeyに空の文字列 ("") を指定します。

適用対象

CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)

ソース:
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

キーを読み取りアクセスまたは読み取り/書き込みアクセス用に開くかどうかを指定する列挙値の 1 つ。

registryOptions
RegistryOptions

使用するレジストリ オプション。

registrySecurity
RegistrySecurity

新しいサブキーのアクセス制御セキュリティ。

戻り値

新しく作成されたサブキー。操作が失敗した場合は null

属性

例外

subkeynullです。

現在の RegistryKey オブジェクトが閉じられます。 閉じたキーにはアクセスできません。

現在の RegistryKey オブジェクトに書き込むことができません。たとえば、書き込み可能なキーとして開かれていたり、ユーザーが必要なアクセス権を持っていない場合などです。

入れ子レベルが 510 を超えています。

-又は-

キーの削除や、LocalMachine ルートでのキーの作成の試行など、システム エラーが発生しました。

ユーザーには、レジストリ キーを作成または開くために必要なアクセス許可がありません。

注釈

現在の RegistryKey オブジェクトを取得するには、subkeyに空の文字列 ("") を指定します。

適用対象