а что именно не понятно из того что генерить по ключам надо?
там половину полей опустить можно...а вторая половина - вроде бы все банально из inf файла берется.
например для моего PCI
============================
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_XXXX&DEV_XXXX&SUBSYS_XXXXXXXX&REV_XX]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_XXXX&DEV_XXXX&SUBSYS_XXXXXXXX&REV_XX\?&
?&?&??]
"DeviceDesc"="board driver" //отображаемое имя устройства
"LocationInformation"="PCI шина 0, устройство 9, функция 0" //скорее пофиг - инфа для отображения.
"Capabilities"=dword:00000000
"UINumber"=dword:00000004
"HardwareID"=hex(7):"VEN_XXXX&DEV_XXXX&SUBSYS_XXXXXXXX&REV_XX" юникодом
"CompatibleIDs"=hex(7):"VEN_XXXX&DEV_XXXX&SUBSYS_XXXXXXXX&REV_XX" юникодом
"ClassGUID"="GUID..." //ваш GUID классa
"Class"="название класса"
"Driver"="GUID...\\0000" GUID раздела реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\0000 - имя драйвера (0000,0001 и т.д. передисление при установке нового драйвера под то же устройство
"Mfg"="HW Manufacturer"
"Service"="Название сервиса"
"ConfigFlags"=dword:00000000
неизвестны поля:
Capabilities - оставить как есть для вашего устройства,
UINumber - с этим номером не в курсе... он генерится (можно попробовать вообще без него. для USB вроде нет такого)
ConfigFlags - оставить как есть для вашего устройства
?&
?&?&?? -это тоже не ясно, кажется любое число покатит, помоему эксперементироавл в свое время... пофиг. меняется если ту же PCI карту в другой слот воткнуть. но тут не суть важно, важно чтобы устройство хотя бы раз было воткнуто.
===================================
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{ваш GUID классa}]
"Class"="название класса"
@="название класса"
"Icon"="-5" //индекс вашей иконки в дереве устройств (-5 - иконка сетевой карточки)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{ваш GUID классa}\0000]
"InfPath"="oem3.inf"
"InfSection"="WDM_ISR_DDI" //название секции инстала из inf файла
"InfSectionExt"=".NT"
"ProviderName"="имя вашей фирмы"
"DriverVersion"="1.0.0.0" //версия драйвера (помоему та что из инфо драйвера скомпилирована)
"MatchingDeviceId"="pci\\VEN_XXXX&DEV_XXXX&SUBSYS_XXXXXXXX&REV_XX"
"DriverDesc"="board driver"
тут все ясно.
===============================
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Название сервиса]
"Type"=dword:00000001 //из inf файла поле ServiceType
"Start"=dword:00000003 //из inf файла поле StartType
"ErrorControl"=dword:00000001 //из inf файла поле ErrorControl
"ImagePath"=hex(2):юникодом путь до файла драйвера
"DisplayName"="board service"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Название сервиса\Security]
"Security"=hex:........... не знаю... дескриптор защиты? можно попробовать без него вообще, без этого ключа вообще.
=========
PS для USB подчти полная аналогия должна быть... есть конкретные вопросы - посмотрю.
PPS возможно для инсталяции без вопросов половину из перечисленного можно убить. хватит наверное только ключа с вендором девайса, GUID класса с путем до драйвера и класса устройства...