1

ハードウェア デバイスが PC に接続され、仮想シリアル ポートが公開されています。シリアル ポート番号は、デバイスを接続する物理 USB ポートによって異なります。デバイスがどの物理 USB ポートに接続されているかをアプリケーションが知る方法はありますか? これは、コードを最適化するのに本当に役立ちます。現在、私のアプリケーションは、デバイスが接続されるたびに、可能なすべてのポートを繰り返し処理することで実際のポート番号を決定しますが、これは時間のかかるプロセスです。どの USB ポートが接続されているかがわかれば、それが公開している通信ポートもわかっているので、特定の物理 USB ポート (プロファイル) ごとにこれらの設定を保存/ロードできます。C++/MFC と Windows 7 を使用しています。XP でも動作するようにしたいと考えています。

4

1 に答える 1

1

USBView サンプル ソースは、WDK で入手できます。これに慣れていない場合は、単純に実行してください。このツールは、システム上の USB ツリー全体を調べて、各デバイスの情報と記述子リスト、およびホスト コントローラーとハブの場所を出力します。

このサンプルの RefreshTree() 関数から始めて、コードに従って、ホスト コントローラー、ハブ、そして最後にデバイスを列挙する方法を確認できます。

このサンプルのソースを入手する最も簡単な方法は、現在http://www.microsoft.com/en-us/download/details.aspx?id=11800で入手できる 7.1.0 WDK をインストールすることです。

于 2013-08-13T04:41:13.890 に答える