Wrong KMDF INF (For XP OS)?

Hi All,

I have built a PCI vedio compression card driver with WDK6000,it can be installed in the
Vista operating system and work properly.But in Windows XP OS,it can not be installed,error code is 39,“Windows could not load the device driver”.Well,I installed WDK6000 in XP OS and select “Build Environments” “Windows XP”,then build it.It can not be installed ,error code is 39 also.

Well,our previous driver based on WDM was built with DriverStudio,It can be installed in XP OS.Comparing the “%windir%\setupapi.log” file these two driver been installed,the one built with WDK6000 has one line more:"#I163 device not start:device has problem:0x27:CM_PROB_DRIVER_FAILED_LOAD."And the file “%windir%\ wdf01005nst.log” is missing when the driver built with WDK6000 is installed in XP OS.
According to the opinions of experts on this list,my INF isn’t correct.
Where possible errors can be exist?

Any help is appreciated.Thanks.

Best Regards
Zhou ChengJun

The INF expanded as follow:

[Version]
Signature=“$WINDOWS NT$”
Class=MEDIA
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%Provider%
DriverVer=01/14/2008,6.0.6000.16386

; ================= Device Install section =====================
[Manufacturer]
%Manufacturer%=DS400x

[ControlFlags]
ExcludeFromSelect=*

[DS400x]
%DS40XXHC.DeviceDesc% = DS40XXHC, PCI\VEN_104c&DEV_9065

[DestinationDirs]
DS40XXHC.CopyList = 10,system32\drivers ; WinXX\system32\drivers

[DS40XXHC]
CopyFiles=DS40XXHC.CopyList

[DS40XXHC.Services]
AddService = DS40XXHC,0x00000002,DS40XXHC.AddReg

[DS40XXHC.AddReg]
ServiceType = 1 ; KERNEL MODE DRIVER
StartType = 3 ; MANUAL
ErrorControl = 1 ; NORMAL
ServiceBinary = %12%\DS40xxV.sys

[DS40XXHC.CopyList]
DS40xxV.sys

;-------------- Coinstaller installation
[DestinationDirs]
CoInstaller_CopyFiles = 11

[DS40XXHC.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_CopyFiles]
wdfcoinstaller01005.dll

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

[CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “wdfcoinstaller01005.dll,WdfCoInstaller”

[DS40XXHC.NT.Wdf]
KmdfService = DS40xxV, DS40xxV_wdfsect
[DS40xxV_wdfsect]
KmdfLibraryVersion = 1.5

[Strings]
Provider= “Provider Co.,Ltd.”
Manufacturer= “Provider Co.,Ltd.”
DS40XXHC.DeviceDesc="Vedio Card "
DISKID=“Vedio card Installation Disk”

I typo’d the log name it’s wdf01005inst.log (web interface is reliable, but prone to typos for me- let’s see how email does- note the “i” was missing). Also, what did setupact.log say?

The INF does have one thing- the service name in the .wdf section (ds40xxv) does NOT match the service you installed (ds40xxhc). I don’t recall the exact effect this has, but it isn’t good.

Also, try this batch file snippet (it’s from my blog entryhttp://blogs.msdn.com/bobkjelgaard/archive/2007/08/02/what-would-you-do-for-a-customer.aspx):

reg export hklm\System\CurrentControlSet\Services\wdf01000 Service.Prt
reg export hklm\System\CurrentControlSet\Control\wdf Loader.Prt
Dir %windir%\system32\wdf* > CoinstallerFiles.Prt
Dir %windir%\system32\drivers\wdf* > RuntimeFiles.Prt
copy *.prt InstallationStatus.Log
del *.prt

And post the InstallationStatus.Log. It gives us a brief (but imperfect) snapshot of the health of the KMDF installation.


From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com.cn [xxxxx@yahoo.com.cn]
Sent: Monday, January 14, 2008 4:31 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Wrong KMDF INF (For XP OS)?

Hi All,

I have built a PCI vedio compression card driver with WDK6000,it can be installed in the
Vista operating system and work properly.But in Windows XP OS,it can not be installed,error code is 39,“Windows could not load the device driver”.Well,I installed WDK6000 in XP OS and select “Build Environments” “Windows XP”,then build it.It can not be installed ,error code is 39 also.

Well,our previous driver based on WDM was built with DriverStudio,It can be installed in XP OS.Comparing the “%windir%\setupapi.log” file these two driver been installed,the one built with WDK6000 has one line more:"#I163 device not start:device has problem:0x27:CM_PROB_DRIVER_FAILED_LOAD."And the file “%windir%\ wdf01005nst.log” is missing when the driver built with WDK6000 is installed in XP OS.
According to the opinions of experts on this list,my INF isn’t correct.
Where possible errors can be exist?

Any help is appreciated.Thanks.

Best Regards
Zhou ChengJun

The INF expanded as follow:

[Version]
Signature=“$WINDOWS NT$”
Class=MEDIA
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%Provider%
DriverVer=01/14/2008,6.0.6000.16386

; ================= Device Install section =====================
[Manufacturer]
%Manufacturer%=DS400x

[ControlFlags]
ExcludeFromSelect=*

[DS400x]
%DS40XXHC.DeviceDesc% = DS40XXHC, PCI\VEN_104c&DEV_9065

[DestinationDirs]
DS40XXHC.CopyList = 10,system32\drivers ; WinXX\system32\drivers

[DS40XXHC]
CopyFiles=DS40XXHC.CopyList

[DS40XXHC.Services]
AddService = DS40XXHC,0x00000002,DS40XXHC.AddReg

[DS40XXHC.AddReg]
ServiceType = 1 ; KERNEL MODE DRIVER
StartType = 3 ; MANUAL
ErrorControl = 1 ; NORMAL
ServiceBinary = %12%\DS40xxV.sys

[DS40XXHC.CopyList]
DS40xxV.sys

;-------------- Coinstaller installation
[DestinationDirs]
CoInstaller_CopyFiles = 11

[DS40XXHC.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_CopyFiles]
wdfcoinstaller01005.dll

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

[CoInstaller_AddReg]
HKR,CoInstallers32,0x00010000, “wdfcoinstaller01005.dll,WdfCoInstaller”

[DS40XXHC.NT.Wdf]
KmdfService = DS40xxV, DS40xxV_wdfsect
[DS40xxV_wdfsect]
KmdfLibraryVersion = 1.5

[Strings]
Provider= “Provider Co.,Ltd.”
Manufacturer= “Provider Co.,Ltd.”
DS40XXHC.DeviceDesc="Vedio Card "
DISKID=“Vedio card Installation Disk”


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer