Pregunta

En breve: necesito para detectar eventos de conexión en caliente de mi dispositivo CDC USB por PID / VID y obtener el puerto COM virtual correspondiente que fue creado por Windows en Visual C ++ y al final crear un archivo DLL .

Tengo un dispositivo USB CDC, que necesito para ser notificado de cuando está conectado / desconectado en Windows. Mi enfoque es utilizar RegisterDeviceNotification y una ventana de "invisible" para recibir notificaciones WM_DEVICECHANGE. Esta parte está trabajando hasta ahora.

Ahora por lo que me di cuenta que necesito para obtener la lista de dispositivos USB que se enchufa, iterar sobre ella y filtrar los dispositivos con mi PID / VID? Asumo que soy entonces capaz de obtener más información sobre el producto, incluidos el puerto COM?

Es la única manera de lograr mi objetivo de llamadas utilización SetupDi en setupapi.h? Está utilizando WDK / DDK la única manera de lograr mi objetivo?

Tan pronto como que está trabajando I de código abierto en http://github.com/vinzenzweber/USBEventHandler . La versión para Mac ya está disponible!

¿Fue útil?

Solución

Después de cavar a través de toneladas de documentación inútil en MSDN y algunos de depuración he encontrado el eslabón perdido: llamadas SetupDi en setupapi.h: Mas informaciones, así como el código fuente para Mac y Windows se pueden encontrar en mi proyecto USBEventHandler a github.com con las fuentes para Mac y Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top