ttp://www.simeji.com/bun/icmpecho.htm
↑ここを参考に、icmp.dllから関数を呼び出して利用するプログラムを作ってます。

icmp.dllロード→IcmpCreateFileは出来たのですが、
以下の「cnt = SendEcho〜」の部分で関数呼び出しエラーが出て、プログラムが止まってしまいます。

SendEcho = (SENDFUNC)GetProcAddress(hInstDLL , "IcmpSendEcho");
cnt = SendEcho(hIcmpFH , *(IPAddr *)(&m_dlg_ping.m_IPAddr) , request_data,
sizeof(request_data) , pipopt , reBuff , sizeof(reBuff) , m_dlg_ping.m_timeout);

以下のように定義してます。

typedef DWORD (*SENDFUNC)(HANDLE , IPAddr , LPVOID ,
WORD , PIP_OPTION_INFORMATION , LPVOID , DWORD , DWORD);

引数に関しては、
SENDFUNC SendEcho; (DLLのIcmpSendEcho関数へのポインタ)
m_dlg_ping.m_IPAddrはCIPAddressCtrlクラスで、IPアドレスを取り込んであります。
m_dlg_ping.m_timeoutはDWORD型で、TIMEOUT値を設定してあります。
他は、一番上のリンク先の通りです。

IcmpSendEchoは、MSDNでは以下のようになっています。これに従って、typedefしました。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/icmpsendecho.asp

長くなってスイマセン。
一体どこを直せばいいのか考えて、息詰まってます。
助言お願いします。