Share via


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來擷取特定的錯誤碼。

錯誤碼 意義
WSANOTINITIALISED
使用這個函式之前,必須先進行成功的 WSAStartup 呼叫。
WSAENETDOWN
網路子系統失敗。
WSAENOTSOCK
描述項不是通訊端。
WSAEFAULT
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 Windows Phone 8 和更新版本上的市集應用程式支援此函式。

Windows 8.1Windows Server 2012 R2:Windows 市集應用程式在 Windows 8.1、Windows Server 2012 R2 及更新版本上支援此功能。

規格需求

   
最低支援的用戶端 Windows 8.1、Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 winsock2.h
程式庫 Ws2_32.lib
Dll Ws2_32.dll

另請參閱

InetNtop

WSAHtons

WSANtohl

WSANtohs

Winsock 函式

Winsock 參考

htonl

htons

inet_addr

inet_ntoa

ntohl

ntohs