Функция 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

Маска доступа указывает представление реестра для конкретной платформы.

Значение Значение
KEY_WOW64_32KEY
0x0200
Удалите раздел из 32-разрядного представления реестра.
KEY_WOW64_64KEY
0x0100
Удалите раздел из 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

См. также раздел

RegCreateKeyTransacted

RegOpenKeyTransacted

Функции реестра

Перенаправитель реестра