VisualC ++で添付されたすべてのUSBデバイスをリストする方法
-
02-10-2019 - |
質問
要するに: PID/VIDでUSB CDCデバイスのホットプラグイベントを検出し、Visual C ++のWindowsによって作成され、最終的にDLLを作成する対応する仮想COMポートを取得する必要があります。
Windowsで接続/切断されたときに通知する必要があるUSB CDCデバイスがあります。私のアプローチは使用することです RegisterDeviceNotification
そして、受信する「目に見えない」ウィンドウ WM_DEVICECHANGE
通知。この部分はこれまでに機能しています。
私が知る限り、私はプラグインしたUSBデバイスのリストを取得し、その上を反復し、PID/VIDでデバイスを除外する必要がありますか? Comポートを含むデバイスに関する情報をさらに入手できると思いますか?
使用する私の目標を達成する唯一の方法です SetupDi
電話 setupapi.h
? WDK / DDKを使用することは私の目標を達成する唯一の方法ですか?
それが機能するとすぐに、私はそれをオープンソースにします http://github.com/vinzenzweber/usbeventhandler. 。 Macバージョンはすでに利用可能です!
解決
MSDNで大量のドキュメントを掘り下げた後、いくつかのデバッグを掘り下げた後、Missing Link:Setupdi Calls in Setupapi.h:MacおよびWindowsのソースコードをusbeventhandlerプロジェクトで見つけることができます。 github.com MacとWindowsのソースがあります。
所属していません StackOverflow