Несколько лет назад написал собственный драйвер для некоего serial устройства.
С тех пор отошел от написания драйверов, но сейчас стал актуальным вопрос работы этого устройства под Windows 7.
Попробовал поставить свой драйвер, указал путь к дистрибутиву. После чего система несколько минут пытается инсталлировать драйвер (висит "Installing driver Software").
В итоге всё это заканчивается плачевно: Windows found driver but encountered an error while attemtping to install it.
Не понимаю какого события он ждал всё это время?
В сам драйвер, как я понимаю, входа не было (DbgView молчит)
После всего этого смотрю в системных каталогах:
INF-файл OEMxx.INF в каталоге INF присутствует,
а сам SYS-файл драйвера не копируется в каталог E:\Windows\System32\drivers\.
Возможно, нужно что-то изменить в INF-файле (что-то специфичное для Win7)?
;;;;;;;;;;;;; INF Fail ;;;;;;;;;;;;;;;;;;;;;;;;;
[Version]
Signature = "$Windows NT$"
Class=MyClass
ClassGuid={C4E89B44-B736-45e6-9CCE-963BB01B9044}
Provider=%String0%
DriverVer=18/04/2012,3.0.0.0
[ClassInstall32]
AddReg=MyClass.AddReg
CopyFiles=nbsxProp.copy
[DestinationDirs]
DefaultDestDir=12
nbsxProp.copy=11
[Manufacturer]
%String1%=ABCTechnology
[ABCTechnology]
%String6%=NBS-40_16C950, PCI\VEN_135E&DEV_7107, PCI\VEN_1415&DEV_9505
[NBS-40_16C950.NT]
CopyFiles=nbs40.copy
AddReg=nbs40.addreg
[nbs40.copy]
MyDriver.sys,,,2
[nbsxprop.copy]
nbsxprop.dll,,,2
[NBS40.AddReg]
HKR,,EnumPropPages32,0,"nbsxprop.dll,NbsxPropPage"
[MyClass.AddReg]
HKR,,,0,%MyClassClassName%
HKR,,Icon,,-5 ; same icon as for network cards
HKR,,Installer32,,"nbsxprop.dll,NbsxClassInstaller"
[nbs40.LogConfig]
ConfigPriority=HARDRECONFIG
IOConfig=8@100-3ff%fff8(3ff::)
IRQConfig=S:2,3,4,5,6,7
[NBS-40_16C950.NT.HW]
AddReg=NBS40_16C950.AddReg
[NBS40_16C950.AddReg]
HKR,,CrystalFrequency,1,00,08,07,00 ; 14.7456 MHz (Max=460800*2)
HKR,,TransmitToggle,1,01 ; RTS(sw)
HKR,,UartType,1,01 ; Oxford 16C950 UART
[NBS-40_16C950.NT.Services]
AddService = MyDriver, 2 , nbsx_service , nbsx_eventlog
[nbsx_service]
DisplayName = "NbsX Service"
ServiceType = 1 ; KERNEL_DRIVER
StartType = 3 ; DEMAND_START
ErrorControl = 1 ; ERROR_NORMAL
ServiceBinary = %12%\MyDriver.sys
[nbsx_eventlog]
AddReg = nbsx_eventlog_Addreg
[nbsx_eventlog_Addreg]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\MyDriver.sys"
HKR,,TypesSupported,0x00010001,7
[SourceDisksNames]
1="ABC Technology NBS-X Device Driver Disk",disk1,
[SourceDisksFiles]
MyDriver.sys=1
nbsxprop.dll=1
[Strings]
String0="ABC Technology"
String1="ABC Technology"
String6="NBS-40(16C950 UART)"
MyClassClassName="ABC Nine-Bit Serial Adapters"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;