WSANtohl 函式 (winsock2.h)
WSANtohl函式會將u_long從網路位元組順序轉換為主機位元組順序。
語法
int WSAAPI WSANtohl(
[in] SOCKET s,
[in] u_long netlong,
[out] u_long *lphostlong
);
參數
[in] s
識別通訊端的描述項。
[in] netlong
以網路位元組順序表示的 32 位數位。
[out] lphostlong
以主機位元組順序接收數位的 32 位數位指標。
傳回值
如果沒有發生錯誤, WSANtohl 會傳回零。 否則,會傳回SOCKET_ERROR的值,並呼叫 WSAGetLastError來擷取特定的錯誤碼。
錯誤碼 | 意義 |
---|---|
使用這個函式之前,必須先進行成功的 WSAStartup 呼叫。 | |
網路子系統失敗。 | |
描述項不是通訊端。 | |
lphostlong參數為Null,或指向的位址未完全包含在使用者位址空間的有效部分中。 |
備註
WSANtohl函式會採用網路位元組順序中的 32 位數位,並以lphostlong參數所指向的 32 位數位,以主機位元組順序傳回 32 位數位。 傳入 s 參數的通訊端可用來根據與通訊端相關聯的 Winsock 目錄通訊協定專案來判斷所需的網路位元組順序。 此功能支援使用不同網路位元組訂單的 Winsock 提供者。
如果通訊端適用于AF_INET或AF_INET6位址系列, 則 WSANtohl 函式可用來將網路位元組中的 IPv4 位址轉換為主機位元組順序中的 IPv4 位址。 此函式不會進行任何檢查,以判斷 netlong 參數是否為有效的 IPv4 位址。
WSANtohl函式要求先前已載入 Winsock DLL 並成功呼叫WSAStartup函式。 若要搭配AF_INET或AF_INET6系列使用, ntohl 函式不需要載入 Winsock DLL。
Windows Phone 8:Windows Phone Windows Phone 8 和更新版本上的市集應用程式支援此函式。
Windows 8.1和Windows 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 |