RegistryKey.CreateSubKey Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый подраздел или открывает существующий подраздел.
Перегрузки
| Имя | Описание |
|---|---|
| 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)
- Исходный код:
- 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 если операция завершилась ошибкой. Если задана 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
Комментарии
Чтобы выполнить это действие, пользователь должен иметь разрешение на этом уровне и ниже в иерархии реестра.
Предостережение
Не предоставляйте 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
Одно из значений перечисления, указывающее, открыт ли ключ для доступа на чтение или чтение или запись.
Возвращаемое значение
Созданный подраздел или null если операция завершилась ошибкой. Если задана subkeyстрока нулевой длины, возвращается текущий RegistryKey объект.
- Атрибуты
Исключения
subkey равно null.
У пользователя нет разрешений, необходимых для создания или открытия раздела реестра.
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 если операция завершилась ошибкой. Если задана subkeyстрока нулевой длины, возвращается текущий RegistryKey объект.
- Атрибуты
Исключения
subkey равно null.
У пользователя нет разрешений, необходимых для создания или открытия раздела реестра.
Текущий 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(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)
- Исходный код:
- 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 если операция завершилась ошибкой. Если задана subkeyстрока нулевой длины, возвращается текущий RegistryKey объект.
- Атрибуты
Исключения
subkey равно null.
У пользователя нет разрешений, необходимых для создания или открытия раздела реестра.
permissionCheck содержит недопустимое значение.
Значение RegistryKey , в котором вызывается этот метод, закрывается (закрытые ключи не могут быть доступны).
Текущий RegistryKey не может быть записан в; например, он не был открыт в качестве ключа, доступного для записи, или у пользователя нет необходимых прав доступа.
Уровень вложения превышает 510.
–или–
Произошла системная ошибка, например удаление ключа или попытка создать ключ в LocalMachine корне.
Комментарии
Метод CreateSubKey создает раздел реестра с контролем доступа, указанным параметром registrySecurity . Возвращаемый RegistryKey объект представляет раздел реестра, но этот объект не ограничен контролем доступа, указанным в параметре registrySecurity .
Если permissionCheck это RegistryKeyPermissionCheck.ReadWriteSubTreeтак, ключ открывается для доступа на чтение и запись. Если permissionCheck это RegistryKeyPermissionCheck.ReadSubTreeтак, ключ открывается для доступа на чтение.
Для обратной совместимости ключ открывается для чтения и записи, если permissionCheck есть RegistryKeyPermissionCheck.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
Параметр реестра для использования.
Возвращаемое значение
Созданный подраздел или null если операция завершилась ошибкой. Если задана subkeyстрока нулевой длины, возвращается текущий RegistryKey объект.
- Атрибуты
Исключения
subkey равно null.
options Не указывает допустимый параметр
У пользователя нет разрешений, необходимых для создания или открытия раздела реестра.
Текущий RegistryKey не может быть записан в; например, он не был открыт в качестве ключа, доступного для записи, или у пользователя нет необходимых прав доступа.
Уровень вложения превышает 510.
–или–
Произошла системная ошибка, например удаление ключа или попытка создать ключ в LocalMachine корне.
Комментарии
Чтобы выполнить это действие, пользователь должен иметь разрешение на этом уровне и ниже в иерархии реестра.
Предостережение
Не предоставляйте RegistryKey объекты таким образом, чтобы вредоносные программы могли создавать тысячи бессмысленных вложенных ключей или пар "ключ-значение". Например, не разрешайте вызывающим пользователям вводить произвольные ключи или значения.
Чтобы использовать CreateSubKey метод, необходимо иметь экземпляр RegistryKey класса. Чтобы получить экземпляр RegistryKey, используйте один из статических элементов Registry класса.
Применяется к
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
Одно из значений перечисления, указывающее, открыт ли ключ для доступа на чтение или чтение или запись.
- registryOptions
- RegistryOptions
Параметр реестра для использования.
- registrySecurity
- RegistrySecurity
Безопасность управления доступом для нового подраздела.
Возвращаемое значение
Созданный подраздел или null если операция завершилась ошибкой.
- Атрибуты
Исключения
subkey равно null.
Текущий RegistryKey объект закрыт. Доступ к закрытым ключам невозможен.
Текущий RegistryKey объект не может быть записан в; например, он не был открыт как ключ для записи или у пользователя нет необходимых прав доступа.
Уровень вложения превышает 510.
–или–
Произошла системная ошибка, например удаление ключа или попытка создать ключ в LocalMachine корне.
У пользователя нет разрешений, необходимых для создания или открытия раздела реестра.
Комментарии
Чтобы получить текущий RegistryKey объект, укажите пустую строку ("") для subkey.