無線LANかどうかの判別方法 – プログラミング – Home

無線LANかどうかの判別方法
 
通知
すべてクリア

[解決済] 無線LANかどうかの判別方法


へたっぴ
 へたっぴ
(@へたっぴ)
ゲスト
結合: 22年前
投稿: 9
Topic starter  

未熟者プログラマの”へたっぴ”です。
(環境:WinXP, VC++6.0)
NICが無線LANかどうかを判別する方法があれば教えてください。
具体的に何がしたいかというと
ある特定のIPアドレスを持った機器があり、それと通信するために
PC側はプログラムを起動したときに動的にIPアドレスをNICに追加します。
その際にNICが無線LANアダプタだった場合は、無線LANの設定も変更して特定のESS-IDの相手と
だけ接続したいのです。

動的にIPアドレスをNICに追加するところまではできているので、できれば無線LANの設定変更
をしたいのですが、まずは無線かどうかの判別をしなければなりませんので、無線かどうか判別
する方法があれば教えてください。

InternetProtocolHelperのGetIfEntry()でも無線かどうかはわからないようです。
どうか宜しくお願いいたします。


引用未解決
トピックタグ
とおりがかり
 とおりがかり
(@とおりがかり)
ゲスト
結合: 22年前
投稿: 6
 

無線LANの規格やカードにもよるのかもしれませんが
802.11bだったらdwSpeedが11000000 (11M)のときに
無線LANと判断するとか。。

#ちょっと逃げっぽいかも


返信引用
とおりがかり
 とおりがかり
(@とおりがかり)
ゲスト
結合: 22年前
投稿: 6
 

ごめんなさい。

GetIfEntry()の時ではなくてGetIfTable()で取得したときの
MIB_IFROW->dwSpeed間違いです。

GetIfEntryの時はどのような値が取得できているか確かめていません。


返信引用
へたっぴ
 へたっぴ
(@へたっぴ)
ゲスト
結合: 22年前
投稿: 9
Topic starter  

とおりがかりさん、ありがとうございます。
確実に無線LANかどうかを判断できるかどうかはちょっと微妙ですが、良い方法かもしれませ
ん。
無線LANの規格を指定することができないので、dwSpeedが11000000 (11M)=無線LANという判断
はできないのですが、
dwSpeed!=10,000,000 && dwSpeed!=100,000,000
( 10Base-Tじゃなく、かつ、100Base-Tじゃない )
場合に無線LANであると判断すればよいかもしれません。
とりあえず、私が所有するPC、LANボード、無線LANアダプタで試した限りでは判断できまし
た。
ありがとうございました。


返信引用
aetos
(@aetos)
Noble Member
結合: 6年前
投稿: 1480
 

LANの規格とかよく知らないんですが、
ギガビットイーサネットだと 1,000,000,000 になっちゃったりしません?


返信引用
へたっぴ
 へたっぴ
(@へたっぴ)
ゲスト
結合: 22年前
投稿: 9
Topic starter  

あ、そうですね。(汗)
どんどん新しい規格が増えてくし...
1,000,000,000も有線LANと判断するとしますか...
でも、ちゃんとした解決にはならないですね。
とりあえず、dwSpeedで判断することとしますが、要検討事項としておきます。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました