none
gatewayのMACアドレスの取得方法 RRS feed

  • 質問

  • 件名の通りですが、その方法がわかりません。

    実装環境は、Visual C# 2005です。

    現在、gatewayのIPアドレスは取得できていますが、そのMACアドレスを取得することができません。

    IPHelper APIで解決できないかとインストールし参照を追加しようとしたのですが、それもうまくいきません・・

    その原因が何なのか自分なりに考察したのですが、

    「IPHelper APIがC++やCだけに対応しているのではないか・・・」

    と考えたのですが、あっていますでしょうか?

    また、gatewayのMACアドレスの取得方法についてアドバイスいただけたらと思います。

    よろしくお願いします。

    2006年11月5日 3:27

すべての返信

  • > IPHelper APIで解決できないかとインストールし参照を追加しようとしたのですが、

    文字通り「参照設定」を実施したんでしょうか?

    参照設定は、.NET のアセンブリを参照するためのもので、どのような DLL でも指定できるわけではありません。

    COM コンポーネントであれば、COM コンポーネントとして追加しなければならないですし、API を提供する DLL であれば、API を指定して DllImport を使う必要があります。

    DllImport の利用方法は、DllImportAttribute のドキュメントから辿れる範囲に沢山記述があると思うので、それらをざっくり眺めてみると利用可能になるのではないでしょうか?

    具体的な DllImport の宣言例などは http://www.pinvoke.net/ とかで探すと沢山みつかります。(IPHelper のエントリはありますが、現在のところ ARP 関連はほとんど登録されていないようです)

    2006年11月5日 16:51
  • IPアドレスの取得までいけているんだったら,
    SendARP で検索すると,Insider.NETのフォーラムのがひっかかるので
    それでいけるんじゃないかと思います。

    ほんとは,ULONGの配列なので,uint[] でうけるんだけど,
    byte[] でもマーシャラがうまくやってくれるようですね。

    2006年11月6日 2:42
  • >文字通り「参照設定」を実施したんでしょうか?

    参照設定の仕方が違うんですね。

    Lady.BUG さん、稍丼さんの教えていただいたHPを参考にすると、うまくいきました。

    ありがとうございました。

    2006年11月6日 16:04