Я ничего не знаю о C #, но в обычном C + Win32 вы можете использовать функции SetupAPI , чтобы перечислить шину и проверить все устройства на шине. Если вы перечислите хост-мост, вы сможете найти ваши устройства в иерархии USB. В той статье, на которую я ссылался, показано, как использовать API, и если вы посмотрите на системный вызов SetupDiGetClassDevs (), есть опция для системной шины USB (т. Е. Параметр 2, «Перечислитель»).
Кроме того, если вы загружаете комплект драйверов Windows, я знаю, что у него есть пример приложения, которое может перечислять шину USB и предоставлять информацию о каждом устройстве USB. Приложение использует SetupAPI и может служить хорошим справочным материалом.
Я знаю, что Microsoft постепенно представляет Win32 API как классы .NET, но я не уверен насчет этого API.