zwDeleteKey 函数 (wdm.h)
ZwDeleteKey 例程从注册表中删除打开的项。
语法
NTSYSAPI NTSTATUS ZwDeleteKey(
[in] HANDLE KeyHandle
);
参数
[in] KeyHandle
要删除的注册表项的句柄。 句柄是通过成功调用 ZwCreateKey 或 ZwOpenKey 创建的。
返回值
ZwDeleteKey 返回 NTSTATUS 值。 可能的返回值包括:
STATUS_SUCCESS
STATUS_ACCESS_DENIED
STATUS_INVALID_HANDLE
STATUS_CANNOT_DELETE (请参阅备注)
注解
在调用 ZwDeleteKey 之前,请确保已删除给定键下的所有键和值。 首先删除每个子项,从叶键开始,并按自己的方式操作。
必须打开句柄才能使 DELETE 访问此例程成功。 有关详细信息,请参阅 ZwCreateKey 的 DesiredAccess 参数。
调用 ZwDeleteKey 会导致 KeyHandle 参数中指定的句柄以及已删除密钥的所有其他句柄变为无效。 调用 ZwDeleteKey 使键句柄失效后,必须调用 ZwClose 以关闭键句柄。
有关使用注册表项的详细信息,请参阅 在驱动程序中使用注册表。
如果在用户模式下调用此函数,则应使用名称“NtDeleteKey”而不是“ZwDeleteKey”。
对于来自内核模式驱动程序的调用,Windows Native System Services 例程的 NtXxx 和 ZwXxx 版本在处理和解释输入参数的方式上的行为可能有所不同。 有关例程的 NtXxx 和 ZwXxx 版本之间的关系的详细信息,请参阅 使用本机系统服务例程的 Nt 和 Zw 版本。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) 、 IrqlZwPassive (wdm) 、 PowerIrpDDis (wdm) 、 ZwRegistryCreate (storport) 、ZwRegistryCreate (storport) , ZwRegistryCreate (wdm) 、 ZwRegistryOpen (storport) 、ZwRegistryOpen (storport) 、 ZwRegistryOpen (wdm) |