Конференция "WinAPI" » Как получить LinkName устройства? [WinXP]
 
  • Serega41 © (01.08.07 22:43) [0]
    Доброго всем здравия!
    Такая вот возникла проблема у меня:
    Есть пара PCI устройств с известными VendorID, DeviceID, SubsystemID. С помощью ф-ий SetupDiEnumDeviceInfo и SetupDiGetDeviceRegistryProperty я успешно нахожу и получаю информацию об экземплярах этих устройств. Но никак не пойму как получить их LinkName, хоть убей! Если использовать ф-и SetupDiEnumDeviceInterfaces и SetupDiGetDeviceInterfaceDetail, то эти устройства не находятся.
    Люди мудрые, подскажите как получить этот несчастный LinkName?
  • Lacmus © (02.08.07 11:32) [1]
  • serega41 © (02.08.07 22:09) [2]

    >  Если использовать ф-и SetupDiEnumDeviceInterfaces и SetupDiGetDeviceInterfaceDetail,
    >  то эти устройства не находятся.
  • Rouse_ © (02.08.07 22:13) [3]
    Хотел рассказать анекдот, но не буду...
    Ты код, что-ли, покажи где у тебя не вышло консенсуса с задачей...
  • serega41 © (02.08.07 22:42) [4]
    Код такой же как и предложил Lacmus.
    Да, USB и HID устройства прекрасно находятся и открываются с помощью CreateFile, а вот с PCI-устройством проблемы, ибо какой GUID подставлять?
    Порыскав в реестре нашел ветку HLM\System\CurrentControlSet\Control\DeviceClasses, в которой перечислены узлы с названием GUIDов классов устройств, которые содержат списки устройств данного класса.
    Моих PCI-устройств там не оказалось.
    Для этих PCI есть драйвер, который присваивает устройству символьный линк, типа, PCIDev0, PCIDev1, ...  
    Заметил еще, что линки для USB начинаются с \\?\, а для PCI - \\.\
    Не спроста, наверное)
    В принципе есть возможность править и перекомпилить драйвер, если знать чего туда нужно дописать, чтобы устройство попало в перечисление интерфесов(SetupDiEnumDeviceInterfaces)
    Вот собственно и проблема)
  • Velimir (06.02.08 21:32) [5]
    При помощи SetupDiGetDeviceRegistryProperty меняя 3 параметр от 0 до 31 можно получить то, что тебе надо... Так размыто потому что точно не помню...

    Может вопрос не в тему...
    Как зная все вышесказанное узнать прерывания, диапазон адресов ввода/вывода?
 
Конференция "WinAPI" » Как получить LinkName устройства? [WinXP]
Есть новые Нет новых   [134467   +7][b:0][p:0]