WSAAddressToStringW

sockaddr 構造体のすべての構成要素を、アドレスの人間可読な文字列表現に変換する。(Unicode)

WSAAddressToStringW lpsaAddress, dwAddressLength, lpProtocolInfo, lpszAddressString, lpdwAddressStringLength

lpsaAddress : [var] 文字列に変換する sockaddr 構造体へのポインタ。
dwAddressLength : [int] lpsaAddress パラメータが指す sockaddr 構造体に含まれるアドレスの長さ (バイト単位)。dwAddressLength パラメータの大きさはプロトコルによって異なりうる。
lpProtocolInfo : [var] 特定のプロバイダの WSAPROTOCOL_INFO 構造体へのポインタ。このパラメータが NULL の場合、呼び出しは lpsaAddress パラメータで指定したアドレスファミリをサポートする最初のプロトコルのプロバイダにルーティングされる。
lpszAddressString : [wstr] 人間可読なアドレス文字列を受け取るバッファへのポインタ。
lpdwAddressStringLength : [var] 入力時、このパラメータは lpszAddressString パラメータが指すバッファの長さを指定する。長さは ANSI 文字列ではバイト、Unicode 文字列では WCHAR で表される。出力時、このパラメータは lpszAddressString パラメータが指すバッファに実際にコピーされた文字列の長さ (NULL 終端を含む) を返す。指定されたバッファが十分でない場合、この関数は WSAEFAULT エラーで失敗し、このパラメータには必要なサイズが設定される。

(プラグイン / モジュール : ws2_32.dll)

解説

sockaddr 構造体のすべての構成要素を、アドレスの人間可読な文字列表現に変換する。(Unicode)

[戻り値]
エラーがない場合、WSAAddressToString はゼロを返す。そうでない場合は SOCKET_ERROR
を返し、WSAGetLastError を呼び出すことで特定のエラー番号を取得できる。
(以下省略)

[備考]
WSAAddressToString 関数は、プロトコル非依存なアドレスから文字列への変換を提供する。WSAAddressToString
関数は、lpsaAddress パラメータが指すソケットアドレス構造体を取り、ソケットアドレスを表す NULL 終端文字列へのポインタを
lpszAddressString パラメータに返す。inet_ntoa 関数が IPv4
アドレスのみを扱うのに対し、WSAAddressToString 関数は、IPv6 アドレスを含め、ローカルコンピュータ上の
Winsock プロバイダがサポートする任意のソケットアドレスを扱える。lpsaAddress パラメータが IPv4 ソケットアドレス
(アドレスファミリが AF_INET) を指している場合、lpszAddressString
パラメータが指すバッファに返されるアドレス文字列は、"192.168.16.0"
のようなドット区切り十進表記である。lpsaAddress パラメータが IPv6 ソケットアドレス (アドレスファミリが
AF_INET6) を指している場合、lpszAddressString
パラメータが指すバッファに返されるアドレス文字列はインターネット標準形式である。基本的な文字列表現は、コロンで区切られた 8 個の 16
進数から成る。連続するゼロの列はダブルコロンに置き換えられる。IPv6 アドレスの文字列表現には、ダブルコロンは 1
つしか現れてはならない。lpszAddressString
パラメータが指すバッファの長さがソケットアドレスの文字列表現を受け取るのに十分でない場合、WSAAddressToString は
WSAEFAULT を返す。WSAAddressToString 関数による IPv6 アドレスサポートは Windows XP SP1
以降で追加された。WSAAddressToString 関数が IPv6 アドレスをサポートするには、ローカルコンピュータに IPv6
もインストールされている必要がある。Windows Phone 8: WSAAddressToStringW 関数は Windows
Phone 8 以降の Windows Phone ストアアプリでサポートされる。Windows 8.1 および Windows
Server 2012 R2: WSAAddressToStringW 関数は、Windows 8.1、Windows Server
2012 R2 以降の Windows ストアアプリでサポートされる。
> [!NOTE] > winsock2.h ヘッダは、UNICODE プリプロセッサ定数の定義に基づいて本関数の ANSI 版と
Unicode 版を自動的に選択するエイリアスとして WSAAddressToString
を定義している。エンコーディング中立なエイリアスとエンコーディング中立でないコードを混在させると、コンパイルエラーや実行時エラーを招く不整合が発生しうる。詳しくは
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールws2_32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ws2_32_gen2.hs