TidIcmpClientについて

解決


santa  2003-10-18 01:12:21  No: 5302

こんにちは、
indyコンポーネントのデモを参考にpingを打つプログラムを
作成しましたが、デモも自作プログラムもコンピュータに管理者権限がないと
ソケットエラーが発生します。TidIcmpClientはどこかにファイルを吐き出したり
、アクセスしているのでしょうか?コマンドでpingは管理者権限がなくとも打てるのに、、、、なぜなのでしょうか?


にしの  2003-10-18 02:12:19  No: 5303

そのことについてWeb上に記述がありました。

Note: For Windows NT, and Windows 2000, administrator privileges are required to allow TIdICMPClient.Ping to work properly. The command line PING application does not exhibit this behavior because Microsoft chose to use undocumented calls in ICMP.DLL and its winsock implementation to get around the issue. In short: they cheated. Indy does not use ICMP.DLL to maintain Linux compatibility, and allow use of both Raw sockets and ICMP sockets.

IndyはLinuxとの互換性を優先し、ICMP.DLLを使用しないようです。pingコマンドと同じにしたいのであれば、ICMP.DLLを呼び出せばよろしいかと思います。


santa  2003-10-18 05:07:17  No: 5304

>>にしの様
返事有難うございます。
すいません、ちゃんと書かれていたのですね。
次からはもっと調べてから書き込みます。
icmp.dllのサンプルを落としてきて解決したのですが、
管理者とユーザの権利の違いという事は、オープンプロセストークン
とPrivilegeの何かで解決できないか?とフト思いました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加