Дано:
1. Разработанная у нас в НИИ PCI-железяка. Нормально видна из-под DOS на шине, все регистры заполнены как надо.
2. Драйвер к этой железке. Написан на VC 6.0 с DriverStudio 2.0.
Проблема:
Драйвер ставится нормально. В реестре прописывается следующее:
1) HKLM\SYSTEM\CurrentControlSet\Control\Class\<GUID класса девайса>
2) HKLM\SYSTEM\CurrentControlSet\Services\<Имя класса девайса>
3) HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\<GUID класса девайса>
4) HKLM\SYSTEM\CurrentControlSet\Enum\Root\<Имя класса девайса>
Вот последний пункт и есть проблема. В inf-файле у меня ясно указано, что писать надо в HKLM\SYSTEM\CurrentControlSet\Enum\PCI\VEN_xxxx&DEV_xxxx. Но система упорно пишет в Root. После чего в п.1 параметр MatchingDeviceId указывает на шину PCI, а вот в п.2 и п.3 параметры указывают в тот самый Root. А в свойствах девайса я вижу фигу в виде такого сообщения:
Запуск этого устройства невозможен. )Код 10:
Нажмите "Устранение неполадок", чтобы запустить мастер устранения неполадок для данного устройства.
Соответственно, драйвер не идёт дальше DriverEntry (насколько я помню). Как это лечить?