Функция 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 [только классические приложения] |
Целевая платформа | Windows |
Header | winreg.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |