Прочитать на английском

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


Функция 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 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winreg.h (включая Windows.h)
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

RegCloseKey

RegCreateKeyEx

RegDeleteTree

RegOpenKeyEx

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

Обзор реестра

SHDeleteEmptyKey

SHDeleteKey