none
Identificador unico para dispositivos USB RRS feed

  • Pregunta

  • Hola,

    Me explico, estoy desarrollando un programa que detecta la conexion y desconexion de dispositvos usb, y necesito obtener datos para identificar el dispositivo. El principal problema es encontrar un identificador unico para cada dispositvo usb, estuve mirando en las clases WMI y encontre un uno que viene perfecto pero se encuentra en Win32_USBHub (USB\VID_125F&PID_C08A\13C0509381250465), y no hallo forma de obtener datos adicionales partiendo de esa clase, por ejemplo: la letra de una memoria flash. Necesito saber como obtener por lo menos ese identificador, la letra, el nombre y el modelo, de un dispositivo en el momento que este es conectado. Gracias

    sábado, 24 de febrero de 2018 23:13

Todas las respuestas

  • Creo que lo que usted busca es Plug and Play.

    Al menos la conexión de discos removibles puede programarse con relativa facilidad en .net.  Todo comienza con la recepción del mensaje WM_DEVICECHANGE.  Si el mensaje contiene en wParam el valor de DBT_DEVICEARRIVAL entonces el valor de lParam es un puntero a un objeto de un tipo derivado de DEV_BROADCAST_HDR.  Si el valor de dbch_devicetype es DBT_DEVTYP_VOLUME, entonces el tipo de objeto es DEV_BROADCAST_VOLUME.  Esta última estructura le dirá la letra asignada.

    Programar esto requiere de conocimientos adecuados en C# interop y entender el mecanismo de mensajes del sistema operativo Windows.


    Jose R. MCP
    Code Samples


    • Editado webJose domingo, 25 de febrero de 2018 9:00
    domingo, 25 de febrero de 2018 9:00
  • Gracias por responder, ya habia intentado con la recepcion de los mensajes de windows el problema es que puede ocurrir que 4 dispositivos se conecten al mismo tiempo y entonces solo recivo un mensaje WM_DEVICECHANGE, ademas no se como podria obtener el PnP conociendo solo la letra, yo me refiero al PnP que contiene el VID(vendor id) y el PID(product id), porque he intentado con el PnP de un volumen y este cambia nada mas formatear la memoria, y necesito uno que sea lo mas permanete posible.
    domingo, 25 de febrero de 2018 12:57