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 本机系统服务例程的 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) 、 PowerIrpDDis (wdm) |