![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить LinkName устройства? [WinXP]
Serega41 © (2007-08-01 22:43:00)Доброго всем здравия!
Такая вот возникла проблема у меня:
Есть пара PCI устройств с известными VendorID, DeviceID, SubsystemID. С помощью ф-ий SetupDiEnumDeviceInfo и SetupDiGetDeviceRegistryProperty я успешно нахожу и получаю информацию об экземплярах этих устройств. Но никак не пойму как получить их LinkName, хоть убей! Если использовать ф-и SetupDiEnumDeviceInterfaces и SetupDiGetDeviceInterfaceDetail, то эти устройства не находятся.
Люди мудрые, подскажите как получить этот несчастный LinkName?
Velimir (2008-02-06 21:32:00) [1]При помощи SetupDiGetDeviceRegistryProperty меняя 3 параметр от 0 до 31 можно получить то, что тебе надо... Так размыто потому что точно не помню...
Может вопрос не в тему...
Как зная все вышесказанное узнать прерывания, диапазон адресов ввода/вывода?
serega41 (2007-08-02 22:42:00) [2]Код такой же как и предложил Lacmus.
Да, USB и HID устройства прекрасно находятся и открываются с помощью CreateFile, а вот с PCI-устройством проблемы, ибо какой GUID подставлять?
Порыскав в реестре нашел ветку HLM\System\CurrentControlSet\Control\DeviceClasses, в которой перечислены узлы с названием GUIDов классов устройств, которые содержат списки устройств данного класса.
Моих PCI-устройств там не оказалось.
Для этих PCI есть драйвер, который присваивает устройству символьный линк, типа, PCIDev0, PCIDev1, ...
Заметил еще, что линки для USB начинаются с \\?\, а для PCI - \\.\
Не спроста, наверное)
В принципе есть возможность править и перекомпилить драйвер, если знать чего туда нужно дописать, чтобы устройство попало в перечисление интерфесов(SetupDiEnumDeviceInterfaces)
Вот собственно и проблема)
Rouse_ (2007-08-02 22:13:00) [3]Хотел рассказать анекдот, но не буду...
Ты код, что-ли, покажи где у тебя не вышло консенсуса с задачей...
serega41 (2007-08-02 22:09:00) [4]
> Если использовать ф-и SetupDiEnumDeviceInterfaces и SetupDiGetDeviceInterfaceDetail,
> то эти устройства не находятся.
Lacmus (2007-08-02 11:32:00) [5]http://delphimaster.ru/cgi-bin/forum.pl?id=1184658001&n=5&toprint=1?