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

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

戻り値

新しく作成されたサブキー、または操作に失敗した場合は 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

注釈

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

注意事項

悪意のあるプログラムが何千もの無意味なサブキーまたはキーと値のペアを作成するような方法でオブジェクトを公開 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 つ。

戻り値

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

戻り値

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

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

戻り値

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

属性

例外

subkeynullです。

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

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

このメソッドの実行対象の RegistryKey が閉じられています。閉じられたキーにはアクセスできません。

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

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

- または -

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

注釈

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

が のRegistryKeyPermissionCheck.ReadWriteSubTree場合permissionCheck、キーは読み取り/書き込みアクセス用に開かれます。 が のRegistryKeyPermissionCheck.ReadSubTree場合permissionCheck、キーは読み取りアクセス用に開かれます。

下位互換性のために、 が で親キーにも が含RegistryKeyPermissionCheck.Defaultまれている場合permissionCheckRegistryKeyPermissionCheck.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

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

戻り値

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

適用対象