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 を呼び出すことによって特定のエラー コードを取得できます。
エラー コード | 意味 |
---|---|
この関数を使用する前に 、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 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 |