Функция 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
Маска доступа указывает представление реестра для конкретной платформы.
Значение | Значение |
---|---|
|
Удалите раздел из 32-разрядного представления реестра. |
|
Удалите раздел из 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 |