複数のコントローラが使用可能な場合に、OS を介して内部 USB コントローラの数と、どのコネクタ/ポートがどのコントローラに割り当てられているかを検出する方法はありますか?
答え1
USB コントローラーの数:
powershell -Command "@(gwmi Win32_USBController).count"
コントローラごとに割り当てられたデバイス(これも PowerShell コード)ですが、ポート番号はありません。
gwmi Win32_USBControllerDevice | % { $parent = [wmi] $_.Antecedent $child = [wmi] $_.Dependent $parent.caption + '\' + $child.caption } | sort
WMI USB クラスから取得できる情報はほぼこれだけです。
さらに詳しい情報が必要な場合は、次のようなグラフィカルツールを使用するか、USB デバイス ツリー ビューアーまたは、C++ソースコードを変更して独自のものを開発します。Microsoft の usbview というサンプル プログラム。