Поделиться через


Функция RegDeleteKeyExA (winreg.h)

Удаляет подраздел и его значения из указанного представления реестра для конкретной платформы. Обратите внимание, что в именах ключей регистр не учитывается.

Чтобы удалить подраздел как транзакцию, вызовите функцию RegDeleteKeyTransacted .

Синтаксис

LSTATUS RegDeleteKeyExA(
  [in] HKEY   hKey,
  [in] LPCSTR lpSubKey,
  [in] REGSAM samDesired,
       DWORD  Reserved
);

Параметры

[in] hKey

Дескриптор открытого раздела реестра. Права доступа для этого ключа не влияют на операцию удаления. Дополнительные сведения о правах доступа см. в разделе Безопасность раздела реестра и права доступа.

Этот дескриптор возвращается функцией RegCreateKeyEx или RegOpenKeyEx или может быть одним из следующих предопределенных ключей:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] lpSubKey

Имя удаляемого ключа. Этот ключ должен быть подразделом ключа, заданного значением параметра hKey .

Функция открывает подраздел с правой кнопкой доступа DELETE.

В именах ключей регистр не учитывается.

Значение этого параметра не может иметь значение NULL.

[in] samDesired

Маска доступа указывает представление реестра для конкретной платформы.

Значение Значение
KEY_WOW64_32KEY
0x0200
Удалите раздел из 32-разрядного представления реестра.
KEY_WOW64_64KEY
0x0100
Удалите раздел из 64-разрядного представления реестра.

Reserved

Этот параметр зарезервирован и должен быть равен нулю.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается сбоем, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM.

Комментарии

Удаленный ключ не удаляется, пока не будет закрыт последний дескриптор.

В WOW64 32-разрядные приложения просматривают дерево реестра, отдельное от дерева реестра, которое просматривает 64-разрядные приложения. Эта функция позволяет приложению удалять запись в альтернативном представлении реестра.

У удаляемого подраздела не должно быть подразделов. Чтобы удалить ключ и все его подразделы, необходимо перечислить подразделы и удалить их по отдельности. Для рекурсивного удаления ключей используйте функцию RegDeleteTree или SHDeleteKey .

Если функция выполнена успешно, RegDeleteKeyEx удаляет указанный раздел из реестра. Удаляется весь ключ, включая все его значения.

Примечание

В устаревших версиях Windows этот API также предоставляется kernel32.dll.

Примечание

Заголовок winreg.h определяет RegDeleteKeyEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows Vista, Windows XP Professional x64 Edition [только классические приложения]
Минимальная версия сервера Windows Server 2008, Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения]
Целевая платформа Windows
Header winreg.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

RegCreateKeyEx

RegDeleteKeyTransacted

RegOpenKeyEx

Функции реестра

Перенаправитель реестра