Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2008.12.14;
Скачать: [xml.tar.bz2];

Вниз

Как получить LinkName устройства?   Найти похожие ветки 

 
Serega41 ©   (2007-08-01 22:43) [0]

Доброго всем здравия!
Такая вот возникла проблема у меня:
Есть пара PCI устройств с известными VendorID, DeviceID, SubsystemID. С помощью ф-ий SetupDiEnumDeviceInfo и SetupDiGetDeviceRegistryProperty я успешно нахожу и получаю информацию об экземплярах этих устройств. Но никак не пойму как получить их LinkName, хоть убей! Если использовать ф-и SetupDiEnumDeviceInterfaces и SetupDiGetDeviceInterfaceDetail, то эти устройства не находятся.
Люди мудрые, подскажите как получить этот несчастный LinkName?


 
Lacmus ©   (2007-08-02 11:32) [1]

http://delphimaster.net/view/4-1184658001/&toprint=1 ?


 
serega41 ©   (2007-08-02 22:09) [2]


>  Если использовать ф-и SetupDiEnumDeviceInterfaces и SetupDiGetDeviceInterfaceDetail,
>  то эти устройства не находятся.


 
Rouse_ ©   (2007-08-02 22:13) [3]

Хотел рассказать анекдот, но не буду...
Ты код, что-ли, покажи где у тебя не вышло консенсуса с задачей...


 
serega41 ©   (2007-08-02 22:42) [4]

Код такой же как и предложил Lacmus.
Да, USB и HID устройства прекрасно находятся и открываются с помощью CreateFile, а вот с PCI-устройством проблемы, ибо какой GUID подставлять?
Порыскав в реестре нашел ветку HLM\System\CurrentControlSet\Control\DeviceClasses, в которой перечислены узлы с названием GUIDов классов устройств, которые содержат списки устройств данного класса.
Моих PCI-устройств там не оказалось.
Для этих PCI есть драйвер, который присваивает устройству символьный линк, типа, PCIDev0, PCIDev1, ...  
Заметил еще, что линки для USB начинаются с \\?\, а для PCI - \\.\
Не спроста, наверное)
В принципе есть возможность править и перекомпилить драйвер, если знать чего туда нужно дописать, чтобы устройство попало в перечисление интерфесов(SetupDiEnumDeviceInterfaces)
Вот собственно и проблема)


 
Velimir   (2008-02-06 21:32) [5]

При помощи SetupDiGetDeviceRegistryProperty меняя 3 параметр от 0 до 31 можно получить то, что тебе надо... Так размыто потому что точно не помню...

Может вопрос не в тему...
Как зная все вышесказанное узнать прерывания, диапазон адресов ввода/вывода?



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2008.12.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
4-1202232215
Dmitry S
2008-02-05 20:23
2008.12.14
"Прибить" повторный запуск моей проги.


15-1223422467
Real
2008-10-08 03:34
2008.12.14
TEmbeddedWB - ошибка установки


2-1225361355
Sw
2008-10-30 13:09
2008.12.14
dll


15-1223560915
Tricky_
2008-10-09 18:01
2008.12.14
Биоритмы


2-1225814425
savyhinst
2008-11-04 19:00
2008.12.14
TMethod





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский