Domanda

In breve: ho bisogno di rilevare eventi hotplug del mio dispositivo CDC USB dal PID / VID e ottenere la porta COM virtuale corrispondente che è stato creato da Windows in Visual C ++ e, alla fine, creare una DLL .

Ho un dispositivo CDC USB che ho bisogno di essere informati di quando connesso / disconnesso su Windows. Il mio approccio è quello di utilizzare RegisterDeviceNotification e una finestra "invisibile" per ricevere le notifiche WM_DEVICECHANGE. Questa parte sta funzionando finora.

Ora per quanto ho scoperto ho bisogno di ottenere l'elenco dei dispositivi USB che è collegato, scorrere su di esso e filtrare i dispositivi con il mio PID / VID? Presumo che sono poi in grado di avere maggiori informazioni sul dispositivo tra cui la porta COM?

E 'l'unico modo per raggiungere il mio obiettivo per le chiamate uso SetupDi in setupapi.h? Sta utilizzando WDK / DDK l'unico modo per raggiungere il mio obiettivo?

Non appena che sta lavorando io open-source su http://github.com/vinzenzweber/USBEventHandler . La versione per Mac è disponibile già!

È stato utile?

Soluzione

Dopo aver scavato attraverso tonnellate di documentazione inutile a MSDN e un po 'di debugging ho trovato l'anello mancante: le chiamate in SetupDi setupapi.h: Ulteriori informazioni, nonché il codice sorgente per Mac e Windows può essere trovato nel mio progetto USBEventHandler a github.com con le fonti per Mac e Windows.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top