ZwMakeTemporaryObject 函数 (wdm.h)

ZwMakeTemporaryObject 例程更改对象的属性,使其成为临时对象。

语法

NTSYSAPI NTSTATUS ZwMakeTemporaryObject(
  [in] HANDLE Handle
);

参数

[in] Handle

任何类型的对象的句柄。

返回值

ZwMakeTemporaryObject 在成功时返回STATUS_SUCCESS,或在失败时返回相应的 NTSTATUS 错误代码。

注解

ZwMakeTemporaryObject 是一个泛型例程,可对任何类型的对象进行操作。

如果对象是使用指定的 OBJ_PERMANENT 对象属性创建的,则对象是永久性的。 (有关对象属性的详细信息,请参阅 InitializeObjectAttributes.) 创建引用计数为 1 的永久对象,因此在驱动程序取消引用时不会删除它。

如果对象不是永久性的,则为临时对象。 ZwMakeTemporaryObject 将指定的对象转换为临时对象。 如果对象已经是临时的,则此例程不执行任何操作。

仅当临时对象的句柄计数大于零时,临时对象才具有名称。 当句柄计数达到零时,系统会删除对象名称并相应地调整对象的指针计数。

如果在用户模式下调用此函数,则应使用名称“NtMakeTemporaryObject”而不是“ZwMakeTemporaryObject”。

对于来自内核模式驱动程序的调用,Windows 本机系统服务例程的 NtXxxZwXxx 版本在处理和解释输入参数的方式上的行为可能有所不同。 有关例程的 NtXxxZwXxx 版本之间的关系的详细信息,请参阅 使用本机系统服务例程的 Nt 和 Zw 版本

要求

要求
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) PowerIrpDDis (wdm)

另请参阅

InitializeObjectAttributes

使用本机系统服务例程的 Nt 和 Zw 版本

ZwClose

ZwCreateDirectoryObject

ZwCreateFile