Здравствуйте, _f_b_i_, Вы писали:
___>Как это usbview не подойдет? собственно она это и делает, разливает девайсы воткнутые в разные порты на разных usb-hub. Все что нужно сделать это разобраться с алгоритмом энумерации девайсов в usbview. Также смотреть в сторону IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX.
Используя в качестве примера usbview, я смогу построить дерево USB устройств и узнать к каким хабам и портам подключены мои USB-девайсы. Я смогу узнать из symlink'и. Потом смогу натравить на них CreateFile и получить device handle, но полученный хендл не будет равен тому, который возвратит API драйвера производителя. Я не знаю как можно их связать.
По-моему надо действовать от обратного, получить из device handle его symlink и найти его в дереве USB устройств. Но я не знаю как.
___>Связать device handle через symlink можно с помощью CM_XXX функций.
Я не смог найти функцию из списка CM_XXX в которую можно засунуть device handle и что-то получить

Буду благодарен, если пнете в нужном направлении.