Re: [USB] ID хаба и номер порта
От: resource  
Дата: 12.05.10 23:13
Оценка:
Я сам недавно столкнулся с похожей проблемой. Кстати сами микрософтовцы не рекомендуют использовать рилейт имена.
Связать с помощью стандартной апи хэндл с айди видимо не получиться.
DeviceIoControl не подойдет, сам не до конца разобрался, но получение айди можно реализовать, насколько понял, только для накопителей (IOCTL_STORAGE...).

Как варинт использовать DriverKit (дремучий лес =) ), или вот, что собственно хочу попробовать реализовать:
DeviceManager Object (http://msdn.microsoft.com/en-us/library/ms630500%28VS.85%29.aspx)

Может оказаться весьма полезным, в том плане, что построено на событиях. Его будет удобно использовать, ессли программа создает дополнительные трэды (отпадают вопросы приостановки работы драйвера и т.п.). Вроди бы как оно должно принимать значение истины, когда устройство с указанным айди подключено, или используется и там еще есть параметры.
По поводу привязки к хэндлу, думаю попробовать пойти обратным путем — по айди получить хэндл. Возможно запросить логическое имя порта и тот же CreateFile использовать. Еще пока не уверен точно.

Пишу на ASM-е, поэтому еще не уверен, что такие вещи есть в библиотеке (в крайнем случае придется переписать). Если у Вас что-нибудь получиться — отпишите тут пожалуйста, как говорится одна голова хорошо, а две — лучше. =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.