Функция RegDeleteKeyExA (winreg.h)
Удаляет подраздел и его значения из указанного представления реестра для конкретной платформы. Обратите внимание, что имена ключей не учитывает регистр.
Чтобы удалить вложенный ключ как транзакционную операцию, вызовите функцию RegDeleteKeyTransacted.
Синтаксис
LSTATUS RegDeleteKeyExA(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in] REGSAM samDesired,
DWORD Reserved
);
Параметры
[in] hKey
Дескриптор открытого раздела реестра. Права доступа этого ключа не влияют на операцию удаления. Дополнительные сведения о правах доступа см. в разделе "Безопасность и права доступа реестра".
Этот дескриптор возвращается функцией
- 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) [классические приложения только] |
целевая платформа | Виндоус |
заголовка | winreg.h (включая Windows.h) |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |
См. также
перенаправления реестра