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 は 0 を返します。 それ以外の場合は、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 |