RtlIpv4AddressToStringExW 函数 (ip2string.h)

RtlIpv4AddressToStringEx 函数将 IPv4 地址和端口号转换为 Internet 标准格式的字符串。

Syntax

NTSYSAPI NTSTATUS RtlIpv4AddressToStringExW(
  [in]      const in_addr *Address,
  [in]      USHORT        Port,
  [out]     PWSTR         AddressString,
  [in, out] PULONG        AddressStringLength
);

参数

[in] Address

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

[in] Port

网络字节顺序格式的端口号。 此参数是可选的。

[out] AddressString

指向缓冲区的指针,用于接收 IPv4 地址和端口的 NULL 终止字符串表示形式。 此缓冲区应足够大,可以容纳至少INET_ADDRSTRLEN个字符。 INET_ADDRSTRLEN值在 Ws2ipdef.h 头文件中定义。

[in, out] AddressStringLength

在输入时, AddressString 参数指向的缓冲区中适合的字符数,包括 NULL 终止符。 输出时,此参数包含实际写入 AddressString 参数指向的缓冲区的字符数。

返回值

如果函数成功,则返回值 STATUS_SUCCESS

如果函数失败,则返回值为以下错误代码之一。

返回代码 Description
STATUS_INVALID_PARAMETER
将无效参数传递给函数。 如果在 AddressString 或 AddressStringLength 参数中传递 NULL 指针,则返回此错误。 如果 AddressString 参数指向的缓冲区长度不足以接收 IPv4 地址和端口的字符串表示形式,也会返回此错误。
其他
使用 FormatMessage 获取返回错误的消息字符串。

注解

RtlIpv4AddressToStringEx 函数用于将 IPv4 地址和端口号转换为 Internet dotted-decimal 格式的 IPv4 地址的字符串表示形式,后跟冒号字符和端口的字符串表示形式。

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

如果 AddressString 参数指向的缓冲区长度不够大,无法接收 IPv4 地址和端口的字符串表示形式, RtlIpv4AddressToStringEx 将返回 ERROR_INVALID_PARAMETER 并将 AddressStringLength 参数设置为所需的缓冲区长度。

定义 UNICODE 或_UNICODE时, RtlIpv4AddressToStringEx 将定义为 RtlIpv4AddressToStringExW(此函数的 Unicode 版本)。 AddressString 参数定义为 PWSTR 数据类型。

如果未定义 UNICODE 和 _UNICODE,RtlIpv4AddressToStringEx 将定义为 RtlIpv4AddressToStringExA,这是此函数的 ANSI 版本。 AddressString 参数定义为 PSTR 数据类型。

IN_ADDR结构在 Inaddr.h 头文件中定义。

要求

Requirement 价值
最低支持的客户端 Windows Vista [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2008 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
Header ip2string.h (包括 Mstcpip.h)
Library ntdll.lib
DLL ntdll.dll

另请参阅

GetModuleHandle

GetProcAddress

InetNtop

InetPton

LoadLibrary

RtlIpv4AddressToString

RtlIpv4StringToAddress

RtlIpv4StringToAddressEx

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

RtlIpv6StringToAddress

RtlIpv6StringToAddressEx

inet_addr

inet_ntoa