Prev: USB camera driver
Next: WDFQUEUE and WdfRequestCreate
From: isenhand on 8 Apr 2010 03:35 OK, did that and it worked. Thx. I got a couple of errors : Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature. DriverCLSID : {d4112073-d09b-458f-a5aa-35ef21eef5de} is a copy-paste from WDF Samples Hmm ... I'm going to actually need both of those before I can develop a driver? "Scott Noone" wrote: > > No, it wont run. > > You probably want to fix that...Have you installed Perl > (http://www.activestate.com/activeperl/)? Once that's installed it should > just be a matter of running "chkinf myinf.inf" > > -scott > > -- > Scott Noone > Consulting Associate > OSR Open Systems Resources, Inc. > http://www.osronline.com > > "isenhand" <isenhand(a)discussions.microsoft.com> wrote in message > news:2104FB1B-A87D-4ACF-81D6-FF9266D7418B(a)microsoft.com... > > Thanks for the replay. > > > > << Have you run chkinf on your INF?>> > > > > No, it wont run. > > > > > > <<You might want to also check >> > > > > Thanks. > > > > This is what I get: > > > >>>> [Build Driver List - ROOT\MEDIA\0000] > >>>> Section start 2010/04/07 09:49:10.527 > > cmd: "C:\Windows\system32\hdwwiz.exe" > > cpy: Policy is set to make all digital signatures equal. > > ! inf: Unable to load INF: > > 'C:\Windows\System32\DriverStore\FileRepository\axissnd.inf_amd64_neutral_1a4320239d538bce\axissnd.inf'(00000003) > > ! inf: Error 3: The system cannot find the path specified. > > ! inf: Unable to load INF: > > 'C:\Windows\System32\DriverStore\FileRepository\axissnd.inf_amd64_neutral_aaf03a561bf9090e\axissnd.inf'(00000003) > > ! inf: Error 3: The system cannot find the path specified. > > ! inf: Unable to load INF: > > 'C:\Windows\System32\DriverStore\FileRepository\xcbdav.inf_amd64_neutral_cf80e4da1c95e6e2\xcbdav.inf'(000004c7) > > ! inf: Error 1223: The operation was canceled by the user. > > ! inf: Error (0x000004c7) searching INFs in directory: 'C:\Windows\inf' > > ! inf: Error 1223: The operation was canceled by the user. > > ! inf: InfSearch error > > ! inf: Error 1223: The operation was canceled by the user. > > <<< Section end 2010/04/07 09:49:12.009 > > <<< [Exit status: FAILURE(0x000004c7)] > > > > and > > > > > > > > [Device Install (DiInstallDevice) - ROOT\MEDIA\0000] > >>>> Section start 2010/04/07 09:49:26.421 > > cmd: "C:\Windows\system32\hdwwiz.exe" > > dvi: {Plug and Play Service: Device Install for ROOT\MEDIA\0000} > > ump: Creating Install Process: DrvInst.exe 09:49:26.454 > > ! ndv: Installing NULL driver! > > dvi: Set selected driver complete. > > dvi: {DIF_ALLOW_INSTALL} 09:49:26.469 > > dvi: Using exported function 'MediaClassInstaller' in module > > 'C:\Windows\system32\mmci.dll'. > > dvi: Class installer == mmci.dll,MediaClassInstaller > > dvi: Using exported function 'MediaClassCoInstaller' in > > module 'C:\Windows\system32\mmcico.dll'. > > dvi: CoInstaller 1 == mmcico.dll,MediaClassCoInstaller > > dvi: CoInstaller 1: Enter 09:49:26.479 > > dvi: CoInstaller 1: Exit > > dvi: Class installer: Enter 09:49:26.483 > > dvi: Class installer: Exit > > dvi: Default installer: Enter 09:49:26.486 > > dvi: Default installer: Exit > > dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 09:49:26.489 > > dvi: {DIF_INSTALLDEVICE} 09:49:26.491 > > dvi: CoInstaller 1: Enter 09:49:26.494 > > dvi: CoInstaller 1: Exit > > dvi: Class installer: Enter 09:49:26.497 > > dvi: Class installer: Exit > > dvi: Default installer: Enter 09:49:26.501 > > ! dvi: Installing NULL driver! > > ! dvi: A NULL driver installation is not allowed for > > this > > type of device! > > !!! dvi: Cleaning up failed installation (e0000219) > > !!! dvi: Default installer: failed! > > !!! dvi: Error 0xe0000219: The installation failed because a > > function driver was not specified for this device instance. > > dvi: CoInstaller 1: Enter (Post Processing) 09:49:26.512 > > dvi: CoInstaller 1: Exit (Post Processing) > > dvi: {DIF_INSTALLDEVICE - exit(0xe0000219)} 09:49:26.515 > > dvi: {DIF_DESTROYPRIVATEDATA} 09:49:26.517 > > dvi: CoInstaller 1: Enter 09:49:26.519 > > dvi: CoInstaller 1: Exit > > dvi: Class installer: Enter 09:49:26.522 > > dvi: Class installer: Exit > > dvi: Default installer: Enter 09:49:26.526 > > dvi: Default installer: Exit > > dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 09:49:26.530 > > ump: Server install process exited with code 0xe0000219 > > 09:49:26.535 > > ump: {Plug and Play Service: Device Install exit(e0000219)} > > <<< Section end 2010/04/07 09:49:26.539 > > <<< [Exit status: FAILURE(0xe0000219)] > > > > Not sure what it means "NULL driver". > > > > "Scott Noone" wrote: > > > >> Have you run chkinf on your INF? > >> > >> You might want to also check C:\WINDOWS\INF\setupapi.app.log and > >> C:\WINDOWS\INF\setupapi.dev.log for any clearer details about what's > >> going > >> on. > >> > >> -scott > >> > >> -- > >> Scott Noone > >> Consulting Associate > >> OSR Open Systems Resources, Inc. > >> http://www.osronline.com > >> > >> > >> "isenhand" <isenhand(a)discussions.microsoft.com> wrote in message > >> news:E7B85FC8-863F-4F11-8C06-73AEE5E2ACDB(a)microsoft.com... > >> > I get the error meesage "cannot copy to spcified target" when I try to > >> > install a driver. > >> > > >> > In my .inf file I have : > >> > > >> > [DestinationDirs] > >> > CoInstallers_CopyFiles=11 ; copy to system32 > >> > UMDriverCopy=12,UMDF ; copy to drivers/umdf > >> > > >> > I've also tried using the path directly. I'm trying this on a WIndows 7 > >> > (x64) machine and wonder if I should have something different but can't > >> > fins > >> > anything that says Window 7 differs form ralier versions. > >> > > >> > Any suggestions? > >> > > >> > Thanks. > >>
From: isenhand on 8 Apr 2010 03:36 <<Perhaps you should post your whole INF. >> Well, here it is: ; axissnd.inf - Install the AxisSnd driver ; [Version] Signature="$Windows NT$" Class = Media ClassGuid = {4d36e96c-e325-11ce-bfc1-08002be10318} Provider=%MSFTUMDF% DriverVer=02/22/2010,6.1.7600.16385 ;CatalogFile=wudf.cat [Manufacturer] %MSFTUMDF%=Psychology,NTAMD64 [Psychology.NTAMD64] %AxisSndDeviceName%=AxisSnd_Install, media\Vid_045e&Pid_94aa&mi_00 %AxisSndDeviceName%=AxisSnd_Install, media\VID_0547&PID_1002 [ClassInstall32] AddReg=AxisSndClass_RegistryAdd [AxisSndClass_RegistryAdd] HKR,,,,%ClassName% HKR,,Icon,,"-10" [SourceDisksFiles] AxisSnd.dll=1, \Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 Audio.dll=1, \Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 AxisMediaControl.dll=1, \Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 ;WudfUpdate_01009.dll=1, C:\Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 ;WdfCoInstaller01009.dll=1 ;WinUsbCoinstaller2.dll=1 [SourceDisksNames] 1 = %MediaDescription% ;[DestinationDirs] ;DefaultDestDir=12 ; dirid = \Drivers on WinNT platforms ; =================== UMDF AxisSnd Device ================================== [AxisSnd_Install.NT] CopyFiles=UMDriverCopy ;Include=WINUSB.INF ; Import sections from WINUSB.INF ;Needs=WINUSB.NT ; Run the CopyFiles & AddReg directives for ;WinUsb.INF ;[AxisSnd_Install.NT.hw] ;AddReg=AxisSnd_Device_AddReg [AxisSnd_Install.NT.Services] AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall ; flag 0x2 sets this as the service for the device ;AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall ; this service is installed because its a filter. [AxisSnd_Install.NT.CoInstallers] CopyFiles=CoInstallers_CopyFiles AddReg=CoInstallers_AddReg [AxisSnd_Install.NT.Wdf] ;KmdfService = WINUSB, WinUsb_Install UmdfService = UMDFAxisSnd, UMDFAxisSnd_Install UmdfServiceOrder = UMDFAxisSnd ;[WinUsb_Install] ;KmdfLibraryVersion = 1.9 [UMDFAxisSnd_Install] UmdfLibraryVersion=1.9.0 DriverCLSID="{d4112073-d09b-458f-a5aa-35ef21eef5de}" ServiceBinary="AxisSnd.dll" [AxisSnd_Device_AddReg] HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND [WUDFRD_ServiceInstall] DisplayName = %WudfRdDisplayName% ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\WUDFRd.sys LoadOrderGroup = Base ;[WinUsb_ServiceInstall] ;DisplayName = %WinUsb_SvcDesc% ;ServiceType = 1 ;StartType = 3 ;ErrorControl = 1 ;ServiceBinary = %12%\WinUSB.sys [CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WudfUpdate_01009.dll", "WdfCoInstaller" [CoInstallers_CopyFiles] WudfUpdate_01009.dll ;WdfCoInstaller01009.dll ;WinUsbCoinstaller2.dll [UMDriverCopy] AxisSnd.dll Audio.dll AxisMediaControl.dll [DestinationDirs] CoInstallers_CopyFiles=11 ; copy to system32 UMDriverCopy=12,UMDF ; copy to drivers/umdf ; =================== Generic ================================== [Strings] MSFTUMDF="Psychology" MediaDescription="C drive" ClassName="Axis Snd" WudfRdDisplayName="Axis Snd Driver" AxisSndDeviceName="AxisSndDriver" WinUsb_SvcDesc="WinUSB Driver" "Tim Roberts" wrote: > isenhand <isenhand(a)discussions.microsoft.com> wrote: > > > >Not sure what it means "NULL driver". > > If your INF has a mistake so that the install section is empty, or if the > AddService line doesn't specify a service name, Windows will install a > "NULL driver", meaning that the device will not have a driver but will not > cause an "unknown device" error. > > Perhaps you should post your whole INF. > -- > Tim Roberts, timr(a)probo.com > Providenza & Boekelheide, Inc. > . >
From: Mike [MSFT] on 8 Apr 2010 15:51 It looks like you haven't decorated all of your DDInstall sections with NTAMD64. -Mike "isenhand" <isenhand(a)discussions.microsoft.com> wrote in message news:F4FC55F8-6EBA-43BF-B902-859F5B12B3D4(a)microsoft.com... > <<Perhaps you should post your whole INF. >>> > > Well, here it is: > > ; axissnd.inf - Install the AxisSnd driver > ; > > [Version] > Signature="$Windows NT$" > Class = Media > ClassGuid = {4d36e96c-e325-11ce-bfc1-08002be10318} > Provider=%MSFTUMDF% > DriverVer=02/22/2010,6.1.7600.16385 > ;CatalogFile=wudf.cat > > [Manufacturer] > %MSFTUMDF%=Psychology,NTAMD64 > > [Psychology.NTAMD64] > %AxisSndDeviceName%=AxisSnd_Install, media\Vid_045e&Pid_94aa&mi_00 > %AxisSndDeviceName%=AxisSnd_Install, media\VID_0547&PID_1002 > > [ClassInstall32] > AddReg=AxisSndClass_RegistryAdd > > [AxisSndClass_RegistryAdd] > HKR,,,,%ClassName% > HKR,,Icon,,"-10" > > [SourceDisksFiles] > AxisSnd.dll=1, > \Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 > Audio.dll=1, > \Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 > AxisMediaControl.dll=1, > \Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 > ;WudfUpdate_01009.dll=1, > C:\Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 > ;WdfCoInstaller01009.dll=1 > ;WinUsbCoinstaller2.dll=1 > > [SourceDisksNames] > 1 = %MediaDescription% > > ;[DestinationDirs] > ;DefaultDestDir=12 ; dirid = \Drivers on WinNT platforms > > ; =================== UMDF AxisSnd Device > ================================== > > [AxisSnd_Install.NT] > CopyFiles=UMDriverCopy > ;Include=WINUSB.INF ; Import sections from WINUSB.INF > ;Needs=WINUSB.NT ; Run the CopyFiles & AddReg > directives for ;WinUsb.INF > > ;[AxisSnd_Install.NT.hw] > ;AddReg=AxisSnd_Device_AddReg > > [AxisSnd_Install.NT.Services] > AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall ; flag 0x2 sets this > as > the service for the device > ;AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall ; this service is > installed because its a filter. > > [AxisSnd_Install.NT.CoInstallers] > CopyFiles=CoInstallers_CopyFiles > AddReg=CoInstallers_AddReg > > [AxisSnd_Install.NT.Wdf] > ;KmdfService = WINUSB, WinUsb_Install > UmdfService = UMDFAxisSnd, UMDFAxisSnd_Install > UmdfServiceOrder = UMDFAxisSnd > > ;[WinUsb_Install] > ;KmdfLibraryVersion = 1.9 > > [UMDFAxisSnd_Install] > UmdfLibraryVersion=1.9.0 > DriverCLSID="{d4112073-d09b-458f-a5aa-35ef21eef5de}" > ServiceBinary="AxisSnd.dll" > > [AxisSnd_Device_AddReg] > HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | > FLG_ADDREG_APPEND > > [WUDFRD_ServiceInstall] > DisplayName = %WudfRdDisplayName% > ServiceType = 1 > StartType = 3 > ErrorControl = 1 > ServiceBinary = %12%\WUDFRd.sys > LoadOrderGroup = Base > > > ;[WinUsb_ServiceInstall] > ;DisplayName = %WinUsb_SvcDesc% > ;ServiceType = 1 > ;StartType = 3 > ;ErrorControl = 1 > ;ServiceBinary = %12%\WinUSB.sys > > [CoInstallers_AddReg] > HKR,,CoInstallers32,0x00010000,"WudfUpdate_01009.dll", "WdfCoInstaller" > > [CoInstallers_CopyFiles] > WudfUpdate_01009.dll > ;WdfCoInstaller01009.dll > ;WinUsbCoinstaller2.dll > > [UMDriverCopy] > AxisSnd.dll > Audio.dll > AxisMediaControl.dll > > [DestinationDirs] > CoInstallers_CopyFiles=11 ; copy to system32 > UMDriverCopy=12,UMDF ; copy to drivers/umdf > > ; =================== Generic ================================== > > [Strings] > MSFTUMDF="Psychology" > MediaDescription="C drive" > ClassName="Axis Snd" > WudfRdDisplayName="Axis Snd Driver" > AxisSndDeviceName="AxisSndDriver" > WinUsb_SvcDesc="WinUSB Driver" > > > "Tim Roberts" wrote: > >> isenhand <isenhand(a)discussions.microsoft.com> wrote: >> > >> >Not sure what it means "NULL driver". >> >> If your INF has a mistake so that the install section is empty, or if the >> AddService line doesn't specify a service name, Windows will install a >> "NULL driver", meaning that the device will not have a driver but will >> not >> cause an "unknown device" error. >> >> Perhaps you should post your whole INF. >> -- >> Tim Roberts, timr(a)probo.com >> Providenza & Boekelheide, Inc. >> . >>
From: isenhand on 9 Apr 2010 02:04 <<It looks like you haven't decorated all of your DDInstall sections with > NTAMD64.>> Don't follow that. I've taken the inf from the skeleton example that came with WinDDK so the referances I use follow what's in the example. Also, I can't find any referance to "NTAMD64" in the book. "Mike [MSFT]" wrote: > It looks like you haven't decorated all of your DDInstall sections with > NTAMD64. > > -Mike > >
From: Tim Roberts on 9 Apr 2010 23:26
isenhand <isenhand(a)discussions.microsoft.com> wrote: > >Well, here it is: OK, remember that you installed this on a 64-bit system. >[Manufacturer] >%MSFTUMDF%=Psychology,NTAMD64 When you add "NTAMD64", you're saying "this INF includes special sections when installed on a 64-bit system." Those sections need to have "decorations". This is a complicated topic; here is the doc section that describes it: http://msdn.microsoft.com/en-us/library/ff540206.aspx >[Psychology.NTAMD64] >%AxisSndDeviceName%=AxisSnd_Install, media\Vid_045e&Pid_94aa&mi_00 >%AxisSndDeviceName%=AxisSnd_Install, media\VID_0547&PID_1002 Here, you have the section decoration. By the way, this INF will not install on a 32-bit system. >[SourceDisksFiles] >AxisSnd.dll=1, >\Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 >Audio.dll=1, >\Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 >AxisMediaControl.dll=1, >\Axis_sound_driver_project\04-code\Sound_Driver\Sound_Driver\objchk_win7_amd64\amd64 These are wrong. The paths in SourceDisksFiles are relative to the directory with the INF (even when they start with "\"), not to your disk. >[AxisSnd_Install.NT] >CopyFiles=UMDriverCopy >;Include=WINUSB.INF ; Import sections from WINUSB.INF >;Needs=WINUSB.NT ; Run the CopyFiles & AddReg >directives for ;WinUsb.INF Since you matched the NTamd64 section to begin with, it's going to look for that decoration everywhere. So, this would have to be [AxisSnd_Install.NTamd64] >[AxisSnd_Install.NT.Services] >AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall ; flag 0x2 sets this as >the service for the device >;AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall ; this service is >installed because its a filter. Same here. This would need to be [AxisSnd_Install.NTamd64.Services] Since that wasn't found, there was no driver section, and a NULL driver was installed. The simpler short-term solution would be to change the two cases of NTAMD64 that you already have to "NT". -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc. |