WSAHtonl 函数 (winsock2.h)
WSAHtonl 函数将u_long从主机字节顺序转换为网络字节顺序。
语法
int WSAAPI WSAHtonl(
[in] SOCKET s,
[in] u_long hostlong,
[out] u_long *lpnetlong
);
参数
[in] s
标识套接字的描述符。
[in] hostlong
主机字节顺序为 32 位数字。
[out] lpnetlong
指向 32 位数字的指针,用于按网络字节顺序接收数字。
返回值
如果未发生错误, 则 WSAHtonl 返回零。 否则,将返回值 SOCKET_ERROR,并且可以通过调用 WSAGetLastError 检索特定的错误代码。
错误代码 | 含义 |
---|---|
在使用此函数之前,必须成功调用 WSAStartup 。 | |
网络子系统发生故障。 | |
:描述符不是套接字。 | |
lpnetlong 参数为 NULL,或者指向的地址未完全包含在用户地址空间的有效部分。 |
注解
WSAHtonl 函数采用主机字节顺序为 32 位数字,并在 lpnetlong 参数指向的 32 位数字中以网络字节顺序返回 32 位数字。 在 s 参数中传递的套接字用于根据与套接字关联的 Winsock 目录协议条目确定所需的网络字节顺序。 此功能支持使用不同网络字节顺序的 Winsock 提供程序。
如果套接字适用于AF_INET或AF_INET6地址系列,则 WSAHtonl 函数可用于将主机字节顺序中的 IPv4 地址转换为网络字节顺序中的 IPv4 地址。 此函数不执行任何检查来确定 hostlong 参数是否为有效的 IPv4 地址。
WSAHtonl 函数要求 Winsock DLL 以前已通过成功调用 WSAStartup 函数加载。 若要与 AF_INET 或 AF_INET6 系列一起使用, htonl 函数不需要加载 Winsock DLL。
Windows Phone 8:Windows Phone 8 及更高版本上的 Windows Phone 应用商店应用支持此函数。
Windows 8.1 和 Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此功能。
要求
最低受支持的客户端 | Windows 8.1,Windows Vista [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | winsock2.h |
Library | Ws2_32.lib |
DLL | Ws2_32.dll |