| IRP 
								Постоялец    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 - не знаю... Так что лучше чтобы это все сделала система!
 
 |