IcmpSendEcho 関数は IPv4 ICMP エコー要求を送信し、エコー応答を返す。タイムアウトか応答バッファが埋まった時点で関数は戻る。
IcmpSendEcho IcmpHandle, DestinationAddress, RequestData, RequestSize, RequestOptions, ReplyBuffer, ReplySize, Timeout
IcmpHandle : [intptr] IcmpCreateFile 関数が返したオープンハンドル。 DestinationAddress : [int] エコー要求の IPv4 宛先アドレス。IPAddr 構造体の形式で指定する。 RequestData : [intptr] 要求で送信するデータを含むバッファへのポインタ。 RequestSize : [int] RequestData が指す要求データバッファのサイズ (バイト単位)。 RequestOptions : [var] 要求の IP ヘッダオプションへのポインタ。IP_OPTION_INFORMATION 構造体の形式で指定する。64 ビットプラットフォームでは IP_OPTION_INFORMATION32 形式となる。オプションを指定しない場合は NULL でもよい。 ReplyBuffer : [intptr] エコー要求に対する応答を保持するバッファ。戻り時、バッファには ICMP_ECHO_REPLY 構造体の配列に続けて応答のオプションとデータが格納される。バッファは少なくとも ICMP_ECHO_REPLY 構造体 1 つと RequestSize バイトのデータを収められる大きさでなければならない。 ReplySize : [int] 応答バッファの割り当てサイズ (バイト単位)。少なくとも ICMP_ECHO_REPLY 構造体 1 つと RequestSize バイトのデータ、加えて 8 バイトの ICMP エラーメッセージ分を収められる必要がある。 Timeout : [int] 応答を待機する時間 (ミリ秒単位)。
(プラグイン / モジュール : iphlpapi.dll)
IcmpSendEcho 関数は IPv4 ICMP エコー要求を送信し、エコー応答を返す。タイムアウトか応答バッファが埋まった時点で関数は戻る。 [戻り値] IcmpSendEcho 関数は ReplyBuffer に格納された ICMP_ECHO_REPLY 構造体の数を返す。各応答のステータスは構造体内に含まれる。0 の場合は GetLastError で追加のエラー情報を取得できる。関数が失敗した場合、GetLastError の戻り値は次のいずれかとなる。 このドキュメントは省略されている。 [備考] IcmpSendEcho 関数は指定アドレスへ ICMP エコー要求を送信し、ReplyBuffer に格納された応答の数を返す。これは同期関数で、Timeout で指定した時間応答を待った後に返る。戻り値が 0 のときは GetLastError で拡張エラー情報を取得する。IcmpSendEcho2 / IcmpSendEcho2Ex は非同期動作をサポートする拡張版で、IcmpSendEcho2Ex は送信元 IP アドレスも指定できる (複数ネットワークインターフェイスを持つコンピュータで有用)。IPv6 の場合は Icmp6CreateFile / Icmp6SendEcho2 / Icmp6ParseReplies を使用する。IcmpSendEcho は Windows 2000 では Icmp.dll、Windows XP 以降では Iphlpapi.dll からエクスポートされる。移植性が必要な場合は静的リンクせず、LoadLibrary と GetProcAddress で Iphlpapi.dll の存在を確認し、なければ Icmp.dll を確認する。Iphlpapi.h の include 指令は Icmpapi.h より前に置くこと。
| プラグイン / モジュール | iphlpapi.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の iphlpapi.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_iphlpapi_gen2.hs |