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 は 0 を返します。 それ以外の場合は、SOCKET_ERRORの値が返され、 WSAGetLastError を呼び出すことによって特定のエラー コードを取得できます。

エラー コード 意味
WSANOTINITIALIZED
この関数を使用する前に 、WSAStartup 呼び出しが正常に行われる必要があります。
WSAENETDOWN
ネットワーク サブシステムが失敗しました。
WSAENOTSOCK
記述子はソケットではありません。
WSAEFAULT
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 8 以降のWindows Phone ストア アプリでサポートされています。

Windows 8.1Windows 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

関連項目

InetNtop

WSAHtonl

WSAHtons

WSANtohs

Winsock 関数

Winsock リファレンス

htonl

htons

inet_addr

inet_ntoa

ntohl

ntohs