IcmpSendEcho

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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の iphlpapi.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_iphlpapi_gen2.hs