RtlIpv6AddressToStringA 函数 (ip2string.h)

RtlIpv6AddressToString 函数将 IPv6 地址转换为 Internet 标准格式的字符串。

语法

NTSYSAPI PSTR RtlIpv6AddressToStringA(
  [in]  const in6_addr *Addr,
  [out] PSTR           S
);

参数

[in] Addr

按网络字节顺序排列的 IPv6 地址。

[out] S

指向缓冲区的指针,用于存储 IPv6 地址的 NULL终止字符串表示形式。 此缓冲区应足够大,可以容纳至少 46 个字符。

返回值

指向在 IPv6 地址的字符串表示形式末尾插入的 NULL 字符的指针。 调用方可以使用此功能轻松将更多信息追加到字符串。

言论

RtlIpv6AddressToString 函数用于以 Internet 标准格式将 IPv6 地址转换为 IPv6 地址的字符串表示形式。

基本字符串表示形式由由冒号分隔的 8 个十六进制数字组成。 连续零个数字的字符串将替换为双冒号。 IPv6 地址的字符串表示形式中只能有一个双冒号。 如果地址是 IPv4 兼容的地址、IPv4 映射的 IPv6 地址或 ISATAP 地址,则最后 32 位以 IPv4 样式的点八进制表示法表示。 有关详细信息,请参阅 IETF 发布的 RFC 5942 的第 5 部分。

RtlIpv6AddressToString 是一种便利函数,它不需要加载 Windows 套接字 DLL 以访问 Windows 套接字中提供的函数以执行 IP 地址到字符串转换。

定义 UNICODE 或_UNICODE时,RtlIpv6AddressToString 定义为 RtlIpv6AddressToStringW(此函数的 Unicode 版本)。 字符串参数 S,函数返回值定义为 PWSTR 数据类型。

如果未定义 UNICODE 和_UNICODE,则 RtlIpv6AddressToString 定义为 RtlIpv6AddressToStringA(此函数的 ANSI 版本)。 字符串参数 S,函数返回值定义为 PSTR 数据类型。

IN6_ADDR 结构在 In6addr.h 头文件中定义。

Windows Vista 发布的 Microsoft Windows 软件开发工具包 (SDK)中不包含包含 RtlIpv6AddressToString 函数的导入库。 RtlIpv6AddressToString 函数包含在 Windows 驱动程序工具包(WDK)中包含的 Ntdll.lib 导入库中。 应用程序还可以使用 GetModuleHandleGetProcAddress 函数从 Ntdll.dll 检索函数指针并调用此函数。

注意

ip2string.h 标头将 RtlIpv6AddressToString 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Vista [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2008 [桌面应用 |UWP 应用]
目标平台 窗户
标头 ip2string.h(包括 Mstcpip.h、Ip2string.h)
ntdll.lib
DLL ntdll.dll

另请参阅

GetModuleHandle

GetProcAddress

Inetntop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa