Я много искал и не смог найти ответ на запрос.
Я хотел выяснить, сколько USB-портов доступно на ПК, например, для последовательного порта у нас есть «COM1» и «COM2». Мой компьютер (Windows7) содержит 8 портов USB, мне нужно найти список портов вместе с тем, используются они или нет.
Я попытался использовать запрос WMI безрезультатно, так как он дает информацию только о подключенных устройствах и только USB-концентраторах.
С Win DDK он будет отображать все порты, доступные для каждого концентратора, но, что интересно, это не то же самое, что я вижу снаружи. Win DDK покажет, сколько портов можно адресовать с каждого концентратора, а не точное количество портов, видимых извне. Любой код на C или C ++ был бы очень полезен.
Идеальный результат будет примерно таким:
USB 1 USED
USB 2 Not USed
USB 3 USED
USB 4 Not Used
.....
Вы не можете определить это. Простая причина в том, что вы хотите провести различие между концентраторами внутри вашего компьютера и концентраторами снаружи. Вероятно, что по крайней мере некоторые из этих 8 USB-портов на вашем компьютере связаны с концентратором, припаянным на материнской плате.
Кроме того, нередко USB используется как внутреннее соединение. Например. многие устройства чтения карт SD подключены к внутреннему USB-концентратору. Для программного обеспечения это выглядит как порт USB, но, конечно, он не виден снаружи вашего ПК.
Других решений пока нет …