Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Установка оборудования  (Прочитано 4662 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
cooler
Участник

ru
Offline Offline
Пол: Мужской

« : 09-06-2006 06:28 » new

Есть USB-устройство,написАн для него драйвер.
Как можно зарегестрировать это устройство в системе
и установить драйвер( железяка не ПОДКЛЮЧЕНА !).
Затем при подключении этой железяки система бы
определила что всё уже установлено и не вызывала бы
"Мастера установки оборудования"

Нарыл ф. UpdateDriverForPlugAndPlayDevices,
но чё-то она не работает при выключенной железяки.
Записан
IRP
Постоялец

ua
Offline Offline

« Ответ #1 : 09-06-2006 11:31 » 

По хорошему это должна сделать система!
Что нужно для полного удовлетворения системы сказать не могу, но:
1. Создать записть в реестре о твоем драйвере. Можно обычной CreateService() функцией
2. Создать записись о USB устройстве.
- ключ в ветке HKLM\System\CurrentControlSet\Enum\Usb\Vid_xxxx&Pid_yyyy\3&267a616a&0\
где xxxx и yyyy - HardwareId твоей железки!
3&267a616a& - ParentIdPrefix - назначается энумиратором USB железок
0 - InstanceID - также назначается энумиратором. Если вставишь эту же железку в другой порт, то создастся еще один ключ типа
HKLM\System\CurrentControlSet\Enum\Usb\Vid_xxxx&Pid_yyyy\3&267a616a&1\
но InstanceID будет уже равен 1.
Система ищит драйвера, если не может найти этот ключ в реестра для твоего устройства. Если он уже будет создан - то драйвер загрузится тихо, без всяких визардов.
3. Далее заполнить этот ключ значениями...
HardwareID
CompatibleIDs
и.т.д. по образу и подобию как это сделано для других драйверов.

НО как узнать какое значение имеет ParentIdPrefix - не знаю... Так что лучше чтобы это все сделала система!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines