ORDeleteKey 函数

从脱机注册表配置单元中删除子项及其值。

语法

DWORD ORDeleteKey(
  _In_     ORHKEY Handle,
  _In_opt_ PCWSTR lpSubKey
);

参数

句柄 [in]

脱机注册表配置单元中打开的注册表项的句柄。 此句柄由 ORCreateKeyOROpenKey 函数返回。

lpSubKey [in, 可选]

要删除的文件的名称。 它必须是 Handle 标识的键的子项,但它不能有子项。

如果该子项不存在,函数将返回ERROR_NOT_FOUND。

如果此参数为 NULL,则该函数将删除 Handle 参数指定的键。 如果 Handle 参数指定的键是配置单元的根键,则函数将返回ERROR_INVALID_PARAMETER。

键名称不区分大小写。

返回值

如果函数成功,则返回值为 ERROR_SUCCESS。

如果函数失败,则返回值为 Winerror.h 中定义的非零错误代码。 可以将 FormatMessage 函数与 FORMAT_MESSAGE_FROM_SYSTEM 标志一起使用,以获取错误的泛型说明。 可能的错误代码包括以下内容:

  • 如果指定的子项不存在,则函数返回ERROR_FILE_NOT_FOUND。
  • 如果指定的子项是注册表配置单元的根键,则函数返回ERROR_INVALID_PARAMETER。
  • 如果指定的子项具有子项,则函数将返回ERROR_KEY_HAS_CHILDREN。

备注

如果指定的注册表项存在,则将其标记为已删除。 在关闭其最后一个句柄之前,不会删除已删除的密钥。

要删除的密钥不得具有子项。 若要删除某个键及其所有子项,请使用 OREnumKey 函数枚举子项并单独删除它们。

只能对已删除的密钥调用 ORCloseKey 函数;所有其他脱机注册表操作都失败。 如果已删除的密钥是通过调用 ORCreateKey 显式创建的,则会在关闭已删除密钥的最后一个句柄时释放与该密钥关联的资源。

要求

要求
可再发行组件
Windows 脱机注册表库版本 1.0 或更高版本
标头
Offreg.h
DLL
Offreg.dll

另请参阅

ORCloseKey

ORCreateKey

OREnumKey

OROpenKey