Функция RegDeleteKeyTransactedA (winreg.h)
Удаляет вложенный ключ и его значения из указанного представления для конкретной платформы реестра в виде транзакций. Обратите внимание, что имена ключей не учитывает регистр.
Синтаксис
LSTATUS RegDeleteKeyTransactedA(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in] REGSAM samDesired,
DWORD Reserved,
[in] HANDLE hTransaction,
PVOID pExtendedParameter
);
Параметры
[in] hKey
Дескриптор открытого раздела реестра. Права доступа этого ключа не влияют на операцию удаления. Дополнительные сведения о правах доступа см. в разделе "Безопасность и права доступа реестра".
Этот дескриптор возвращается RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExили функцией RegOpenKeyTransacted. Он также может быть одним из следующих предопределенных ключей:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in] lpSubKey
Имя ключа, который необходимо удалить. Этот ключ должен быть подразделом ключа, указанного значением параметра hKey.
Функция открывает подраздел с правом доступа DELETE.
Имена ключей не учитывает регистр.
Значение этого параметра не может быть null.
[in] samDesired
Маска доступа указывает представление реестра для конкретной платформы.
Ценность | Значение |
---|---|
|
Удалите ключ из 32-разрядного представления реестра. |
|
Удалите ключ из 64-разрядного представления реестра. |
Reserved
Этот параметр зарезервирован и должен быть нулевым.
[in] hTransaction
Дескриптор активной транзакции. Этот дескриптор возвращается функцией CreateTransaction.
pExtendedParameter
Этот параметр зарезервирован и должен быть null.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS.
Если функция завершается ошибкой, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h. Функцию FormatMessage можно использовать с флагом FORMAT_MESSAGE_FROM_SYSTEM для получения универсального описания ошибки.
Замечания
Удаленный ключ не удаляется до закрытия последнего дескриптора.
В WOW64 32-разрядные приложения просматривают дерево реестра, отдельное от дерева реестра, которое просматривает 64-разрядные приложения. Эта функция позволяет приложению удалять запись в альтернативном представлении реестра.
У удаленного подраздела не должно быть вложенных ключей. Чтобы удалить ключ и все его подразделы, необходимо перечислить вложенные ключи и удалить их по отдельности. Чтобы удалить ключи рекурсивно, используйте функцию RegDeleteTree или SHDeleteKey.
Если функция выполнена успешно, RegDeleteKeyTransacted удаляет указанный раздел из реестра. Удаляется весь ключ, включая все его значения. Чтобы удалить все дерево как транзакцию, используйте функцию RegDeleteTree с дескриптором, возвращенным из RegCreateKeyTransacted или RegOpenKeyTransacted.
Заметка
Заголовок winreg.h определяет RegDeleteKeyTransacted как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winreg.h (включая Windows.h) |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |
См. также
перенаправления реестра