掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IPアドレスの競合をEVC++の関数で検知するには? (ID:64770)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そうして放置された残骸があちこちに… PATIOさんも書かれていますが、CEネタは少々厳しいですね。 検証できる環境が無いので。 んでわ、本題。 「ARPってのはナニモノや?」ってのは自分で調べていただくとして… MSDNで調べると、IP HelperにSendARP()なんてのがあるようです。 が、その前にARPキャッシュに載っている場合は削除しないとならないかと。 (IPアドレス設定する前に、使用予定のものが使われていないか…ということならば、そもそもARPキャッシュも無いかも知れませんが。) ARPキャッシュが無い状態ならばそのままSendARP()で結果を調べてください。 MACアドレスが取得できた場合は、『ブロードキャストが届く範囲』に該当するIPアドレスを持ったPCがいることになります。 結果の確認にもしかしたらGetIpNetTable()を使う必要があるかも知れません。 すでにARPキャッシュがある場合は… DeleteIpNetEntry()で該当するIPアドレスのエントリを削除する必要があるかと思われます。 んで、削除するためにはアダプタ(ようするにNIC)のIndexを指定する必要が。 Indexの取得には… GetAdaptersInfo()で列挙が必要でしょうか? IP_ADAPTER_INFO構造体のTypeとIndexかな?? # ちなみに、CEないし確認してないです。 # 大まかな処理ならXPでも試せるかも知れませんが…そこまでやっている時間は無いので。 # ちなみにARP使う関係でルータ等の向こうにいるモノとの競合は確認できません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.