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) |