С Новым годом! Форум программистов, компьютерный форум, киберфорум
Компьютерное железо
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 96

Как расшифровать номер USB порта и хаба по Device ID присооединенного устройства

13.03.2015, 18:36. Показов 6673. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если тема не для того раздела, пусть модераторы перенесут. Ни в Google, ни в Yandex, не нашел ответа. Device ID USB устройства имеет следующий синтаксис:
USB\VID_0458&PID_003A\5&2e981854&0&1
Часть между первым и вторым знаком "\" определяется подсоединенным устройством. Символы справа от второго знака "\" каким-то хитрым образом зависят от устройства и разъема (порта и хаба) USB. Есть ли у кого-нибудь ссылка на документацию по синтаксису Device ID устройства? В моем случае есть возможность читать их из реестра, то есть Windows это как-то определяет и отображает в диспетчере устройств. Но лучше бы расшифровывать номера порта и хаба непосредственно из Device ID устройства, определяемого с помощью программы, которую пишу. Последняя цифра справа обозначает номер порта, но как определить номер хаба? В приведенном примере в реестре "LocationInformation" ("Сведения о местонахождении" в диспетчере устройств) "Port_#0001.Hub_#0003".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2015, 18:36
Ответы с готовыми решениями:

Компьютер не видит принтер как usb device share usb device stub
недавно переустанавливал винду на последнюю версию windows 10 . после надо было распечатать документы,но выдает такую проблему. пробовал...

Свой драйвер COM порта для USB устройства
Всем здрасте... Хотелось бы услышать мнения профессионалов. В частности Убежденного:) видел много сообщений от него.. Итак. Есть...

Как получить номер USB-порта, на котором "сидит" подключенное устройство
Всем доброго времени суток, уважаемые коллеги! Заранее прошу прощения у модераторов, если моя тема не совсем соответствует данному...

4
2 / 1 / 1
Регистрация: 21.01.2020
Сообщений: 78
29.08.2022, 14:05
Ооо, чел. ЯЯ вот только сам решаю подобный вопрос. То, что ты показал, это путь к девайсу, где конец - usb. Дело в том, что если ты хочешь его "расшифровать", наверное надо писать тем, кто создавал создавал порт устройства. Если ты хочешь узнать, как достать путь до компьютерного usb порта, тебе надо получить ту же инфу, что есть в диспетчере устройств во вкладке сведения свойство пути к расположению. Достать это можно следующим образом:
Подключить библиотеку setupapi, взять метод: SetupDiGetDevicePropertyW и использовать его, тогда ты получишь. (в своей теме ещё не описал решение, но скоро туда перенесу)

Из этого метода ты получишь такую строку "PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(3)" . Id девайса можно достать из класса USB, если не ошибаюсь, я просто проверяю на верность ввода id (так как меня интересую телефоны). У других классов какие-то свои id, которые я не могу расшифровать, да и смысла не имеет. В своей теме опубликую решение, только доделаю его и приведу в нормальный вид)

Вот моя тема (Как определить к какому USB порту подключено определённое устройство с известным COM портом)

С хабами весело, я их определяю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                                                var busReportedDeviceDescKey = new DEVPROPKEY
                                                {
                                                    fmtid = new Guid(0x540b947e, 0x8b40, 0x45bc, 0xa8,
                                                        0xa2, 0x6a, 0x0b, 0x89,
                                                        0x4c, 0xbd, 0xa2),
                                                    pid = 4
                                                };
                                                if (SetupDiGetDevicePropertyW(h, ref devInfoData, ref busReportedDeviceDescKey, out var type1, intPtrBuffer, BufferSize, out var count, 0))
                                                {
                                                    deviceProperties.BusReportedDeviceDesc = Marshal.PtrToStringAuto(intPtrBuffer);
                                                }
 
                                                if (UsbHubViewModel.IsDeviceHub(deviceProperties.BusReportedDeviceDesc))
                                                {
                                                    HubViewModel.AddHub(deviceProperties);
                                                    i++;
                                                    continue;
                                                }
проверка на hub (если придумаешь вариант лучше пиши)
C#
1
2
        private const string HubPattern = @"hub$";
        public static bool IsDeviceHub(string busReportedDeviceDesc) => !string.IsNullOrEmpty(busReportedDeviceDesc) && Regex.IsMatch(busReportedDeviceDesc, HubPattern, RegexOptions.IgnoreCase);
После получения хаба, я просто вычитаю его путь (как пример выше) из пути устройства
0
1277 / 385 / 65
Регистрация: 08.06.2022
Сообщений: 1,826
29.08.2022, 14:08
Возможно, вашу жизнь облегчит программа UsbTreeView
0
29.08.2022, 14:54

Не по теме:

Семь лет с возникновения темы прошло...

0
2 / 1 / 1
Регистрация: 21.01.2020
Сообщений: 78
29.08.2022, 17:13
Lol
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2022, 17:13
Помогаю со студенческими работами здесь

Серийный номер устройства USB
Задача такова, нужна программа, которая выясняет Серийный номер устройства ЮСБ сравнивает его с тем, который нужно тоесть, с моей...

Микросхема USB хаба
Нужна микросхема на которой делают USB хабы. Для этого решил купить самый нищебродский хаб и разобрать его. Какова вероятность того, что я...

компьютер зависает из-за usb хаба
решил увеличить количество портов usb при помощи usb хаба все было отлично пока не подключил к нему сразу и сканер и модем акорп спринтер...

Питание активного USB-хаба
Имеется активный хаб Konoos UK-46. Разукомплектованный. Тех-информация на оф-сайте отсутствует. Сколько питалова ему нужно? Вроде...

Подключение ноутбучного USB хаба
Всем доброго времени суток. Есть USB хаб от HP TX2000, он стаял на крышке матрицы и к нему подключалась web камера и сенсорный экран....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru