[an error occurred while processing this directive]
|
Был у меня проект написаный под Windows Me.
Драйвер стандартный из NT DDK bulkusb.sys.
Сгенерил inf с помощью Jungo WinDriver.
Подправил его под bulkusb.sys.
Потом в реестре Windows нашел, как windows сгенерил имя драйверу.
было: '\DosDevices\0000000000000032#{a5dcbf10-6530-11d2-901f-00c04fb951ed}'
преобразовал в: '\\.\0000000000000032#{a5dcbf10-6530-11d2-901f-00c04fb951ed}'
Затем в Delphi открывал устройство и pipes как обычные файлы(handle);
Под XP поменялись пути, где хранится имя драйвера устройства (symbolic name) и вид
строки: '\??\USB#Vid_1992&Pid_2003#4&1423afc4&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}'
Получается что символическое имя формируется по разному в разных системах.
То есть для поддержки устройств, с выходом новых ОС по новому переписывать программу?
Где бы почитать, как корректно писать программы, чтобы не рыскать по реестру?
Интуитивно понятно что Windows имея VID, PID и ClassGUID сформировало simbolic name.
Но почему в первом случае '0000000000000032' добавило а во втором '4&1423afc4&0&2' ?
Может кто читал где-нибудь, как имея VID, PID и ClassGUID корректно проверять установку драйвера и обращатся к нему?
Спасибо за внимание.
E-mail: info@telesys.ru