MACアドレス取得〜


その1.
GetAdaptersInfo 関数を使う方法。
上記関数の引数に IP_ADAPTER_INFO を渡して、情報を取得。
IP_ADAPTER_INFO の Next にて鎖構造になっていて、
全てのアダプタ情報が取得出来る。


IP_ADAPTER_INFO の
Address 配列メンバの 0 〜 5 byte がそれぞれ Mac Address の
1 byte 〜 6 byte になっている。


問題点
Windows NT4 未対応



その2.
Netbios 関数を使う方法。
詳細省略。(駄目っぽいので、調べもせず・・・)
アクティブなネットワークアダプタの情報を取得可能。
これならば、Window NT4 対応。


問題点
ただし、1枚のアダプタしか取得できない模様。
Window NT4 で複数刺さっていたらアウト。



その3.
WMI(Windows Management Instrumentation) を利用する方法。


ネットワークアダプタの情報以外にも、
ハードウェアについて、かなり詳細な情報が取れる模様。
VC からのアクセスは、COMを利用。


IWbemLocator を CoCreateInstance で引っ張ってきて、
後は下位オブジェクトを手繰っていく模様。
かなり複雑。


問題点
Window 2000、XP 以外は、WMIのライブラリをクライアントにインストール
する必要がある。



駄目じゃん(泣
どれもこれも問題あり。


どこかで妥協するしかないようなので、
上と相談・・・。