RtlDeleteRegistryValue 函数 (wdm.h)

RtlDeleteRegistryValue 例程沿给定相对路径从注册表中删除指定的条目名称和关联的值。

语法

NTSYSAPI NTSTATUS RtlDeleteRegistryValue(
  [in] ULONG  RelativeTo,
  [in] PCWSTR Path,
  [in] PCWSTR ValueName
);

参数

[in] RelativeTo

指定 Path 是绝对注册表路径,还是相对于预定义的键路径,如下所示之一。

含义
RTL_REGISTRY_ABSOLUTE Path 是绝对注册表路径。
RTL_REGISTRY_SERVICES 路径相对于 \Registry\Machine\System\CurrentControlSet\Services
RTL_REGISTRY_CONTROL 路径相对于 \Registry\Machine\System\CurrentControlSet\Control
RTL_REGISTRY_WINDOWS_NT 路径相对于 \Registry\Machine\Software\Microsoft\Windows NT\CurrentVersion
RTL_REGISTRY_DEVICEMAP 路径相对于 \Registry\Machine\Hardware\DeviceMap
RTL_REGISTRY_USER 路径相对于 \Registry\User\CurrentUser。 (对于系统进程,这是 \Users\。Default.)
RTL_REGISTRY_HANDLE 指定 Path 参数实际上是要使用的注册表句柄。 此值是可选的。

[in] Path

根据 RelativeTo 值指定注册表路径。 如果设置了RTL_REGISTRY_HANDLE, 则 Path 是要直接使用的句柄。

[in] ValueName

指向要从注册表中删除的值名称的指针。

返回值

如果删除了值项,RtlDeleteRegistryValue 将返回STATUS_SUCCESS。

请注意,如果将 RelativeTo 设置为 RTL_REGISTRY_HANDLE,则会发生以下情况:

  • 在 Windows 98/Me 和 Windows NT 4.0 上,例程在返回之前关闭指定的句柄。
  • 在 Windows 2000 及更高版本的 Windows 上,例程使句柄保持打开状态。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlRtlPassive (wdm)

另请参阅

RtlCheckRegistryKey

RtlQueryRegistryValues

RtlWriteRegistryValue

ZwEnumerateKey

ZwOpenKey