как переписать .inf файл драйвера под Windows 7 x64
От: smithana  
Дата: 04.03.13 13:52
Оценка:
Есть написанный wdf драйвер, замечательно работающий под Windows 7 x32.
Переткнули железку в более новый компьютер с семёркой x64.
Я перекомпелировал драйвер для этой среды, но при установке ОС х64 сказала, что не нашла подходящих драйверов.
понял, что надо ещё и inf файл переписать.
Вот такой старый:



[Version]
DriverVer=02/20/2012,1.0
Signature=$Windows NT$
Class=Multifunction
ClassGuid={4d36e971-e325-11ce-bfc1-08002be10318}
Provider=%String0%
CatalogFile=KmdfSamples.cat

[DestinationDirs]
DefaultDestDir=12

[ClassInstall32]
Addreg=MultifunctionClassReg

[MultifunctionClassReg]
HKR,,,0,%String3%
HKR,,Icon,,-5

[DiskCopyfiles]
AD200wdf.sys

[SourceDisksNames]
1=AD200Disk,,

[SourceDisksFiles]
AD200wdf.sys=1

[Manufacturer]
%String1%=Models,NTx86

; For Win2000
[Models]
%String2%=AD200Dev, PCI\VEN_....&DEV_...&REV_...    ; AD200

; For WinXP+
[Models.NTx86]
%String2%=AD200Dev, PCI\VEN_...&DEV_...&REV_...    ; AD200

[AD200Dev.NT]
CopyFiles = DiskCopyfiles

[AD200Dev.NT.Services]
AddService = AD200Dev, 0x00000002, AD200_Service_Inst

[AD200_Service_Inst]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 0                  ; SERVICE_BOOT_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\AD200wdf.sys

[Strings]
String0="... Ltd."
String1="... Ltd."
String2="...."
String3="..."


;
;--- XXX_Device Coinstaller installation ------
;
[DestinationDirs]
AD200Dev_CoInstaller_CopyFiles = 11

[AD200Dev.NT.CoInstallers]
AddReg=AD200Dev_CoInstaller_AddReg
CopyFiles=AD200Dev_CoInstaller_CopyFiles

[AD200Dev_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[AD200Dev_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[SourceDisksFiles]
WdfCoInstaller01009.dll=1 ; make sure the number matches with SourceDisksNames

[AD200Dev.NT.Wdf]
KmdfService = AD200Dev, AD200Dev_wdfsect

[AD200Dev_wdfsect]
KmdfLibraryVersion = 1.9


переделал вот так:

[Version]
Signature=$Windows NT$
Class=Multifunction
ClassGuid={4d36e971-e325-11ce-bfc1-08002be10318}
Provider=%String0%
CatalogFile=KmdfSamples.cat

[DestinationDirs]
DefaultDestDir=12

[ClassInstall32]
Addreg=MultifunctionClassReg

[ClassInstall64]
Addreg=MultifunctionClassReg

[MultifunctionClassReg]
HKR,,,0,%String3%
HKR,,Icon,,-5

[SourceDisksNames]
1=AD200Disk,,

[SourceDisksFiles]
AD200wdfX64.sys=1
AD200wdfX86.sys=1

[Manufacturer]
%String1%=Models, NTx86, NTamd64

; For WinXP & Win7 x86
[Models.NTx86]
%String2%=AD200Dev.NTx86, PCI\VEN_....&DEV_....&REV_...    ; AD200

; For Win7 x64
[Models.NTx64]
%String2%=AD200Dev.NTamd64, PCI\VEN_....&DEV_...&REV_...    ; AD200

[AD200Dev.NTx86]
DriverVer=02/20/2012, 1.0
CopyFiles = AD200Files.NTx86
Reboot

[AD200Dev.NTamd86]
DriverVer=02/20/2012, 1.0
CopyFiles = AD200Files.NTamd64
Reboot

[AD200Files.NTx86]
ad200wdfX86.sys

[AD200Files.NTamd64]
ad200wdfx64.sys

[AD200Dev.NTx86.Services]
AddService = ad200wdfX86, 0x00000002, AD200_Service_Inst

[AD200Dev.NTamd64.Services]
AddService = ad200wdfx64, 0x00000002, AD200_Service_x64Inst

[AD200_Service_Inst]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 0                  ; SERVICE_BOOT_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\AD200wdfX86.sys

[AD200_Service_x64Inst]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 0                  ; SERVICE_BOOT_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\AD200wdfX64.sys


[Strings]
String0="... Ltd."
String1="... Ltd."
String2="..."
String3="..."


;
;--- XXX_Device Coinstaller installation ------
;
[DestinationDirs]
AD200Dev_CoInstaller_CopyFiles = 11

[AD200Dev.NT.CoInstallers]
AddReg=AD200Dev_CoInstaller_AddReg
CopyFiles=AD200Dev_CoInstaller_CopyFiles

[AD200Dev_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[AD200Dev_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[SourceDisksFiles]
WdfCoInstaller01009.dll=1 ; make sure the number matches with SourceDisksNames

[AD200Dev.NT.Wdf]
KmdfService = AD200Dev, AD200Dev_wdfsect

[AD200Dev_wdfsect]
KmdfLibraryVersion = 1.9


реакция системы осталась прежней.
подскажите пожалуйста, что сделал не так, или что не дописал.
Спасибо.

p.s.
не принципиально, будет ли один .inf на два файла драйверов или для каждого драйвера будет свой inf.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.