組み込みデバイスと通信するように TFTP サーバーをセットアップする Windows 7 用の C++ でアプリケーションを開発しています。デバイスはイーサネット ポートに直接接続され、192.168.1.19 静的アドレスで TFTP サーバーを想定しています。
ユーザー エクスペリエンスを簡素化するために、次のシナリオが必要です。
- システムに登録されているすべてのネットワーク接続のリストをユーザーに提示します (「コントロール パネル\ネットワークとインターネット\ネットワーク接続」と同じリスト)。
- 1 つの接続を選択できるようにする
- そのIPv4構成を記憶する
- IPv4 構成を 192.168.1.19 および 255.255.255.0 に設定します
- TFTP ジョブが完了したら、元の IPv4 構成を復元します
私が遭遇した問題は、次のものが混在しています。
- イーサネット ケーブルが接続されていない場合、GetAdaptersInfo、GetInterfaceInfo、GetAdaptersAddresses のいずれも、関心のある接続を一覧表示しません。
- その接続が得られたとしても、DHCP のオン/オフ、静的 IP、ネットワーク マスクを設定するためにどの API を使用すればよいかわかりません。
- netsh を使用してみましたが、正常に動作しますが、接続名に英語以外の文字を使用したくないため、アプリから実行したくありません。
提案を歓迎します、ありがとう!
=====編集#1
コントロール パネルの接続プロパティで確認できますが、フィードバックに IP アドレスがありません。
Win32_NetworkConnection を含むクエリは、何も返しません。