Функция 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 |
Обзор реестра