Как вы упоминаете, UsbView перечисляет USB-концентраторы и устройства.Его источник находится в DDK по адресу ddk \ xp \ src \ wdm \ usb \ usbview.
Я нашел более простой подход, который зависел от устройства и работал в моей ситуации.Мне удалось определить скорость на основе максимального размера пакета для устройства.Размер пакета находится в элементе структуры MaximumPacketSize в структуре USBD_PIPE_INFORMATION.На MSDN см. OSRUSBFX2, где написано «Максимальный размер пакета зависит от скорости» - размер USB 2.0 равен 0x200, а размер USB 1.1 равен 0x40.Ищите MSDN для OSRUSBFX2 для получения дополнительной информации.
Хотя не такой универсальный, как перечисление USB-устройств, подход USBD_PIPE_INFORMATION может работать в вашей ситуации и намного проще.