Драйвер USB на 64-битной Windows - PullRequest
1 голос
/ 29 апреля 2010

У меня довольно общий 64-битный драйвер на основе bulkusb.sys в WDK. Он годами работал со встроенной программой, но теперь он необходим для работы на Vista 64. Из всей документации, которую я пытался просмотреть, похоже, ничего на нее не влияет, за исключением компиляции ее для 64-битной среды, и все же, когда я компилирую ее с помощью среды сборки AMD64, я получаю драйвер, не предназначенный для этого. платформа "сообщение об ошибке при попытке открыть систему.

Что может быть решением для этого?

Обновление: Что именно вы подразумеваете под «попыткой открыть систему»? В журнале, когда он пытается запустить sys-файл драйвера (не ошибка в inf), происходит сбой. Какую версию WDK вы используете? 7600.16385.0

И собираете, и пытаетесь развернуть на одном компьютере с Vista x64? Нет, я использую 32-битную версию XP, но не понимаю, как это важно, поскольку я использую правильную среду сборки.

Ваш драйвер подписан кросс-подписанным сертификатом? Нет, я пытался включить неподписанные драйверы, но это не помогло, но я также не уверен, что вообще будет происходить с этой темой, и если вы можете дать мне некоторую информацию по этому вопросу, это будет добро пожаловать.

Правильно ли выбрана среда сборки (chk / fre / amd64 / win2k)? Я использовал chk-vista-amd64. Так как это для Vista 64bit ...

Ответы [ 2 ]

0 голосов
/ 24 августа 2010

Убедитесь, что вы удаляете копию драйвера в

%WinDir%\System32\DriverStore

Потому что в противном случае более новые версии драйвера, которые вы пытаетесь установить в системе, не будут использоваться. Есть 2 способа сделать это:

1) Подключите ваше устройство, установите неправильный драйвер и удалите с помощью диспетчера устройств, но при удалении используйте меню мыши, а не клавишу удаления, и установите флажок «удаление драйвера»

2) Найдите файл OEM ##. Inf, соответствующий вашему драйверу, в% WinDir% \ Inf. используя окна командной строки с повышенными правами (т. е. запуск от имени администратора) используйте

pnputil -d oem##.inf

Теперь вы можете установить новую версию вашего драйвера.

0 голосов
/ 06 мая 2010

Если ваш код основан на bulkusb.sys в WDK, вам следует просто попытаться скомпилировать код Драйвер USB для группового USB для тестовой платы Intel 82930 USB , включенный в C: \ WinDDK \ 7600.16385.1 \ src \ usb \ usbsamp \ sys из WinDDK. Затем, если он может быть запущен в вашей среде, попробуйте сравнить код из WinDDK, который вы использовали (для да) в качестве шаблона вашего драйвера, с текущей версией usbsamp из WinDDK 7600.16385.1 . Вы увидите, какие изменения были сделаны в usbsamp. Вероятно, те же самые изменения, которые вы должны сделать в своей программе.

Я не мог дать более точный ответ, потому что я пытаюсь найти ошибку в коде, который я не вижу. Мне кажется, это нелегко.

...