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


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

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

64-разрядная версия Windows: В WOW64 32-разрядные приложения просматривают дерево реестра, отдельное от дерева реестра, которое просматривает 64-разрядные приложения. Чтобы разрешить приложению удалять запись в альтернативном представлении реестра, используйте функцию RegDeleteKeyEx .

Синтаксис

LSTATUS RegDeleteKeyA(
  [in] HKEY   hKey,
  [in] LPCSTR lpSubKey
);

Параметры

[in] hKey

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

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

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] lpSubKey

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

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

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

Дополнительные сведения см. в разделе Ограничения размера элементов реестра.

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

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

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

Комментарии

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

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

Примеры

Пример использования этой функции см. в разделе Удаление ключа с подразделами.

Примечание

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

Примечание

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winreg.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

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

RegCloseKey

RegCreateKeyEx

RegDeleteTree

RegOpenKeyEx

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

Общие сведения о реестре

SHDeleteEmptyKey

SHDeleteKey