InetNtop 関数は、IPv4 または IPv6 のインターネットネットワークアドレスをインターネット標準形式の文字列に変換する。この関数の ANSI 版は inet_ntop である。(InetNtopW)
InetNtopW Family, pAddr, pStringBuf, StringBufSize
Family : [int] アドレスファミリ。アドレスファミリとして指定可能な値は Ws2def.h ヘッダファイルに定義されている。なお、Ws2def.h ヘッダファイルは Winsock2.h に自動的にインクルードされるため、直接使用すべきではない。AF_ アドレスファミリ定数と PF_ プロトコルファミリ定数の値は同一 (たとえば AF_INET と PF_INET) なので、どちらの定数を使ってもよい。現在サポートされている値は AF_INET と AF_INET6 である。 pAddr : [intptr] 文字列に変換する、ネットワークバイトオーダーの IP アドレスへのポインタ。Family パラメータが AF_INET の場合、pAddr パラメータは変換対象の IPv4 アドレスを持つ IN_ADDR 構造体を指さなければならない。Family パラメータが AF_INET6 の場合、pAddr パラメータは変換対象の IPv6 アドレスを持つ IN6_ADDR 構造体を指さなければならない。 pStringBuf : [wstr] IP アドレスの NULL 終端文字列表現を格納するバッファへのポインタ。IPv4 アドレスの場合、このバッファは少なくとも 16 文字分の大きさが必要である。IPv6 アドレスの場合、このバッファは少なくとも 46 文字分の大きさが必要である。 StringBufSize : [int] 入力時、pStringBuf パラメータが指すバッファの長さ (文字数)。
(プラグイン / モジュール : ws2_32.dll)
InetNtop 関数は、IPv4 または IPv6 のインターネットネットワークアドレスをインターネット標準形式の文字列に変換する。この関数の ANSI 版は inet_ntop である。(InetNtopW) [戻り値] エラーがない場合、InetNtop 関数は IP アドレスの標準形式の文字列表現を格納したバッファへのポインタを返す。そうでない場合は NULL が返され、WSAGetLastError を呼び出すことで拡張エラー情報を取得できる。関数が失敗した場合、WSAGetLastError が返す拡張エラーコードは次のいずれかになる。 (以下省略) [備考] InetNtop 関数は Windows Vista 以降でサポートされる。InetNtop 関数は、プロトコル非依存なアドレスから文字列への変換を提供する。InetNtop 関数は、pAddr パラメータで指定されたインターネットアドレス構造体を取り、その IP アドレスを表す NULL 終端文字列を返す。inet_ntoa 関数が IPv4 アドレスのみを扱うのに対し、InetNtop 関数は IPv4 と IPv6 のどちらのアドレスも扱える。この関数の ANSI 版は RFC 2553 で定義された inet_ntop である。詳しくは IETF の Web サイトにある RFC 2553 を参照。InetNtop 関数は IP アドレスから文字列への変換を行うのに Windows Sockets DLL をロードする必要がない。Family パラメータに AF_INET を指定した場合、pAddr パラメータは変換対象の IPv4 アドレスを持つ IN_ADDR 構造体を指さなければならない。pStringBuf パラメータが指すバッファに返されるアドレス文字列は、"192.168.16.0" のようなドット区切り十進表記である。Family パラメータに AF_INET6 を指定した場合、pAddr パラメータは変換対象の IPv6 アドレスを持つ IN6_ADDR 構造体を指さなければならない。pStringBuf パラメータが指すバッファに返されるアドレス文字列は、インターネット標準形式である。基本的な文字列表現は、コロンで区切られた 8 個の 16 進数から成る。連続するゼロの列はダブルコロンに置き換えられる。IPv6 アドレスの文字列表現には、ダブルコロンは 1 つしか現れてはならない。アドレスが IPv4 互換アドレスの場合、末尾 32 ビットは IPv4 形式のドット区切り表記で表現される。pStringBuf パラメータが指すバッファの長さが IP アドレスの文字列表現を受け取るのに十分でない場合、InetNtop は ERROR_INVALID_PARAMETER を返す。UNICODE または _UNICODE が定義されている場合、InetNtop は Unicode 版の InetNtopW として定義される。pStringBuf パラメータは PSTR データ型として定義される。UNICODE または _UNICODE が定義されていない場合、InetNtop は ANSI 版の InetNtopA として定義される。この関数の ANSI 版は常に inet_ntop としても定義される。pStringBuf パラメータは PWSTR データ型として定義される。IN_ADDR 構造体は Inaddr.h ヘッダファイルで定義されている。IN6_ADDR 構造体は In6addr.h ヘッダファイルで定義されている。Windows Vista 以降では、RtlIpv4AddressToString および RtlIpv4AddressToStringEx 関数を使って、IN_ADDR 構造体として表現された IPv4 アドレスをインターネット標準のドット区切り十進表記の文字列に変換できる。Windows Vista 以降では、RtlIpv6AddressToString および RtlIpv6AddressToStringEx 関数を使って、IN6_ADDR 構造体として表現された IPv6 アドレスを文字列表現に変換できる。RtlIpv6AddressToStringEx 関数は、IPv6 アドレス、スコープ ID、ポートを標準形式の IPv6 文字列に変換できるため、より柔軟である。Windows 8.1 および Windows Server 2012 R2: InetNtopW 関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストアアプリでサポートされる。
| プラグイン / モジュール | ws2_32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ws2_32_gen2.hs |