RegDeleteTreeA 函数 (winreg.h)
以递归方式删除指定键的子项和值。
语法
LSTATUS RegDeleteTreeA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey
);
参数
[in] hKey
打开的注册表项的句柄。 必须使用以下访问权限打开密钥:DELETE、KEY_ENUMERATE_SUB_KEYS和KEY_QUERY_VALUE。 有关详细信息,请参阅 注册表项安全和访问权限。
此句柄由 RegCreateKeyEx、RegCreateKeyTransacted、RegOpenKeyEx或 RegOpenKeyTransacted 函数返回,也可以是以下 预定义键之一:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in, optional] lpSubKey
密钥的名称。 此键必须是由 hKey 参数标识的键的子项。 如果此参数 NULL,则会删除 hKey 的子项和值。
返回值
如果函数成功,则返回值ERROR_SUCCESS。
如果函数失败,则返回值为 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与FORMAT_MESSAGE_FROM_SYSTEM标志一起使用,以获取错误的泛型说明。
言论
如果键具有值,则必须使用KEY_SET_VALUE打开它,否则此函数将失败并ERROR_ACCESS_DENIED。
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为0x0600或更高版本。 有关详细信息,请参阅 使用 Windows 标头。
注意
在旧版 Windows 上,此 API 也由 kernel32.dll公开。
注意
winreg.h 标头将 RegDeleteTree 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | winreg.h (包括 Windows.h) |
库 | Advapi32.lib |
DLL | Advapi32.dll |