zwQuerySymbolicLinkObject 函数 (wdm.h)

ZwQuerySymbolicLinkObject 例程返回一个 Unicode 字符串,其中包含符号链接的目标。

语法

NTSYSAPI NTSTATUS ZwQuerySymbolicLinkObject(
  [in]            HANDLE          LinkHandle,
  [in, out]       PUNICODE_STRING LinkTarget,
  [out, optional] PULONG          ReturnedLength
);

参数

[in] LinkHandle

要查询的符号链接对象的句柄。 此句柄是通过成功调用 ZwOpenSymbolicLinkObject 创建的。

[in, out] LinkTarget

指向初始化的 Unicode 字符串的指针,该字符串接收符号链接的目标。

[out, optional] ReturnedLength

包含要复制到 LinkTarget 处的 Unicode 字符串的最大字节数。 输出时,无符号长整数包含命名符号链接目标的 Unicode 字符串的长度。

返回值

ZwQuerySymbolicLinkObject 返回STATUS_SUCCESS指示例程完成且没有错误;如果 LinkTarget 中提供的 Unicode 字符串太小而无法保存返回的字符串,则返回STATUS_BUFFER_TOO_SMALL。

注解

在调用此例程之前,驱动程序编写器必须确保 LinkTarget 处的 Unicode 字符串已正确初始化,并已分配字符串的缓冲区。 在调用 ZwQuerySymbolicLinkObject 之前,必须设置 Unicode 字符串的 MaximumLengthBuffer 成员,否则调用将失败。

如果 ZwQuerySymbolicLinkObject 返回STATUS_BUFFER_TOO_SMALL驱动程序应检查 ReturnedLength 处返回的值。 此变量中返回的数字指示符号链接目标的 Unicode 字符串的最大长度。

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

对于来自内核模式驱动程序的调用,Windows Native System Services 例程的 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)

另请参阅

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

ZwOpenSymbolicLinkObject