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