ZwQueryObject 函数 (ntifs.h)

ZwQueryObject 例程提供有关提供的对象的信息。

语法

NTSYSAPI NTSTATUS ZwQueryObject(
  [in, optional]  HANDLE                   Handle,
  [in]            OBJECT_INFORMATION_CLASS ObjectInformationClass,
  [out, optional] PVOID                    ObjectInformation,
  [in]            ULONG                    ObjectInformationLength,
  [out, optional] PULONG                   ReturnLength
);

参数

[in, optional] Handle

要获取相关信息的对象句柄。

[in] ObjectInformationClass

指定一个 OBJECT_INFORMATION_CLASS 值,该值确定 ObjectInformation 缓冲区中返回的信息的类型。

[out, optional] ObjectInformation

指向接收请求信息的调用方分配的缓冲区的指针。

[in] ObjectInformationLength

指定 ObjectInformation 缓冲区的大小(以字节为单位)。

[out, optional] ReturnLength

指向接收所请求密钥信息的大小(以字节为单位)的变量的指针。 如果 ZwQueryObject 返回STATUS_SUCCESS,则变量包含返回的数据量。 如果 ZwQueryObject 返回STATUS_BUFFER_OVERFLOW或STATUS_BUFFER_TOO_SMALL,则可以使用变量的值来确定所需的缓冲区大小。

返回值

ZwQueryObject 返回STATUS_SUCCESS或适当的错误状态。 可能的错误状态代码包括:

返回代码 描述
STATUS_ACCESS_DENIED
没有足够的权限来执行此查询。
STATUS_INVALID_HANDLE
提供的对象句柄无效。
STATUS_INFO_LENGTH_MISMATCH
信息长度不足以保存数据。

言论

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

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

要求

要求 价值
最低支持的客户端 Windows 2000。
目标平台 普遍
标头 ntifs.h(包括 Ntifs.h、FltKernel.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIS(storport)PowerIrpDDis(wdm)

另请参阅

OBJECT_INFORMATION_CLASS

PUBLIC_OBJECT_BASIC_INFORMATION

PUBLIC_OBJECT_TYPE_INFORMATION

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