La función midiOutGetDevCaps devuelve una estructura MIDIOUTCAPS. Necesitaría información más específica al consultar un dispositivo usb midi en Windows XP, en particular, necesitaría la información que se muestra en "Ubicación" al abrir el dispositivo correspondiente utilizando el Administrador de dispositivos. Necesito esta información para distinguir mediante programación entre varias interfaces MIDI conectadas a una computadora. Usando midiOutGetDevCaps, obtengo de forma uniforme "Dispositivo de audio USB" para cada interfaz usb midi conectada a la computadora, por lo que es imposible distinguir entre las interfaces. Para empeorar las cosas, esta cadena está localizada, por ejemplo, en un Windows alemán obtendrá "USB Audiogerät" en lugar de "USB Audio Device".recuperando información detallada del dispositivo midi usb en Windows XP
Respuesta
Supongo que depende de lo desesperado que estés. He tenido mi propia carrera con dispositivos USB. En mi caso, necesitaba enumerar ciertos dispositivos USB relacionados con el puerto COM. . . independientemente de si están actualmente conectados al sistema o no.
Es todo código propietario de la empresa, lo siento, no se puede publicar, pero la búsqueda de toda la información relativa dispositivos relacionados con USB comienza aquí (Perl):
$hostnamePrefix = "//$hostname/";
my $baseKey = "${hostnamePrefix}HKEY_LOCAL_MACHINE/System/CurrentControlSet/";
my $regVidList = Win32::TieRegistry->new("${baseKey}Enum/USB/", $optionsRef);
Si la memoria no me falla es razonablemente sencillo estructura. Creo que en realidad tiene que recorrer dos secciones separadas del registro para obtener todo lo que necesita. . . Si está lo suficientemente desesperado como para intentar esto, me complace responder preguntas donde pueda, pero publicar el código requeriría la aprobación de nuestro departamento legal. (No es imposible, pero tomaría semanas obtener).
Además, aunque esto funcionará en XP. . . No tengo idea de cómo funcionará en Win7. (No sé de ninguna manera, nadie lo ha intentado todavía que yo sepa).
Codificando esto no fue tan malo (resultando Perl Script es alrededor de 1000 líneas de código que es casi el 50% de comentarios), pero resolver todas las relaciones entre las teclas y los casos especiales tomó varios días.
- 1. Simulando un dispositivo MIDI - Windows
- 2. Biblioteca C/C++ para leer señales MIDI desde un dispositivo MIDI USB
- 3. Reiniciar el dispositivo USB de forma automática en Windows
- 4. SVN - Recuperando información útil
- 5. Acceso a un dispositivo Midi en Java
- 6. Información del dispositivo Android
- 7. Cómo conectarse Información USB con Delphi en Vista
- 8. Recuperando el número de serie del dispositivo
- 9. Enviando MIDI por el USB usando Arduino
- 10. ¿Cómo implementar un controlador de dispositivo USB para Windows?
- 11. Apagar un dispositivo USB en el software de Windows
- 12. Flex, obtenga la identificación USB del dispositivo USB conectado
- 13. Cómo olfatear un puerto USB en Windows?
- 14. ¿Cómo comunicarse con un dispositivo USB en Windows y Java?
- 15. JavaScript - obtener información detallada sobre el navegador
- 16. enviar mensajes MIDI a través de USB en Android
- 17. Dispositivo USB conectado
- 18. ¿Cómo obtener información del dispositivo en Android
- 19. Detectar USB insertado en Windows
- 20. DateTime.ToLocalTime en Windows XP
- 21. Depuración de OpenGL o información detallada en la consola
- 22. Obtención del nombre de puerto de un dispositivo USB conectado
- 23. Número de serie del dispositivo USB leído en C#
- 24. puertos serie USB desde una aplicación .NET en Windows 7
- 25. Dispositivo USB HID con Android
- 26. Hacer un dispositivo USB, controlarlo En Java
- 27. Diferenciación programática entre unidad de disquete USB y unidad flash USB en Windows
- 28. Desarrolle Windows Phone 7 en Windows XP
- 29. SWT: Recibir notificaciones de un cambio de dispositivo del sistema (conexión/desconexión del dispositivo USB)
- 30. de vigilancia en Windows XP
Realmente espero que haya una respuesta a esto. He tenido el mismo problema. Sin embargo, no creo que exista. Todo el software de audio y DAW que he usado tiene el mismo problema ... enumerar dispositivos con el mismo nombre al azar. Recuerde, los dispositivos MIDI no tienen una conexión inherente con el USB o cualquier hardware para el caso. Asociar dispositivos con una idea de hardware podría no ser el camino a seguir de todos modos, pero no conozco una solución viable. – Brad
¿Qué le dicen los identificadores del fabricante y del producto? Supongo que seguirías teniendo problemas si tienes 2 de los mismos dispositivos enchufados ... – Goz