lishu2002
驱动牛犊
驱动牛犊
  • 注册日期2005-09-02
  • 最后登录2011-08-14
  • 粉丝2
  • 关注0
  • 积分32分
  • 威望165点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:2784回复:3

一个非PnP的驱动inf文件如何修改使之正常安装??内有inf内容

楼主#
更多 发布于:2010-11-25 19:06
   写了个win7下的hid驱动的上层过滤程序,根据范例中Toaster的filter中的inf修改了一个上层过滤的inf文件,可是在使用UpdateDriverForPlugAndPlayDevices进行安装的时候却失败,错误码是0xe000020b,因为win7下hid驱动相关的是kmdf,所以upperfilter是kmdf。我使用的安装函数依次为SetupDiGetINFClass,SetupDiCreateDeviceInfoList,SetupDiCreateDeviceInfo,SetupDiSetDeviceRegistryProperty,UpdateDriverForPlugAndPlayDevices。除了最后一个函数其他都成功,请教是inf写的有问题么?如何修改?还是调用的安装函数有问题,需要添加或者删除掉那些相关的函数??谢谢


inf文件内容如下。

[Version]
Signature   = "$WINDOWS NT$"
Class=HIDClass
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=%MSFT%
DriverVer=11/25/2010,6.1.7600.16385

[DestinationDirs]
DefaultDestDir = 12

;*****************************************
; Toaster Device Filter Install Section
;*****************************************

[Manufacturer]
%StdMfg%=Standard,NTx86

; For XP and later
[Standard.NTx86]
%ToasterFilter.DeviceDesc%=ToasterFilter, Root\MsToaster

[ToasterFilter.NT]  
CopyFiles=ToasterFilter.NT.Copy

[ToasterFilter.NT.Copy]
filter.sys

[ToasterFilter.NT.HW]
AddReg = ToasterFilter.NT.HW.AddReg

[ToasterFilter.NT.HW.AddReg]  
HKR,,"UpperFilters",0x00010000,mshidkmdf

;*****************************************
; Toaster Device Filter Service Section
;*****************************************

[ToasterFilter.NT.Services]
;Do not specify SPSVCINST_ASSOCSERVICE on filter drivers.
AddService      = ToasterFilter,, filter_Service_Inst

[filter_Service_Inst]
DisplayName     = %filter.SvcDesc%                            
ServiceType     = 1                  ; SERVICE_KERNEL_DRIVER
StartType       = 3                  ; SERVICE_DEMAND_START
ErrorControl    = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary   = %12%\filter.sys                            

;*************************
; Source file information
;*************************

[SourceDisksNames]
1 = %DiskId1%,,,""

[SourceDisksFiles]
filter.sys         = 1,,

;
;--- ToasterFilter Coinstaller installation ------
;
[DestinationDirs]
ToasterFilter_CoInstaller_CopyFiles = 11

[ToasterFilter.NT.CoInstallers]
AddReg          = ToasterFilter_CoInstaller_AddReg
CopyFiles       = ToasterFilter_CoInstaller_CopyFiles

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

[ToasterFilter_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

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

[ToasterFilter.NT.Wdf]
KmdfService              = ToasterFilter, Filter_wdfsect

[Filter_wdfsect]
KmdfLibraryVersion       = 1.9

[Strings]
SPSVCINST_ASSOCSERVICE   = 0x00000002
MSFT                     = "Microsoft"
StdMfg                   = "(Standard system devices)"
ClassName                = "Toaster"
DiskId1                  = "Toaster Filter Installation Disk #1"
ToasterFilter.DeviceDesc = "Microsoft Toaster Filter"
filter.SvcDesc           = "Microsoft Toaster Filter Driver Refactored"
Toaster.SVCDESC          = "Microsoft WDF Toaster Featured Device Driver"
lishu2002
驱动牛犊
驱动牛犊
  • 注册日期2005-09-02
  • 最后登录2011-08-14
  • 粉丝2
  • 关注0
  • 积分32分
  • 威望165点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-11-28 11:46
麻烦高手给看一下inf文件吧,确认是inf文件的问题,因为用ddk的devcon进行安装仍然失败。安装时还没有到启动服务,还没有进入driverentry
eaatcc
禁止发言
禁止发言
  • 注册日期2006-04-21
  • 最后登录2018-12-27
  • 粉丝0
  • 关注0
  • 积分6884分
  • 威望34869点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2010-12-04 00:43
用户被禁言,该主题自动屏蔽!
Pegram
论坛版主
论坛版主
  • 注册日期2005-12-03
  • 最后登录2013-08-23
  • 粉丝13
  • 关注5
  • 积分1333分
  • 威望4717点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分2分
地板#
发布于:2010-12-18 13:21
>>因为win7下hid驱动相关的是kmdf,所以upperfilter是kmdf
没有必要,WDM也可以。

>>我使用的安装函数依次为......UpdateDriverForPlugAndPlayDevices
你安装过滤驱动,调用UpdateDriverForPlugAndPlayDevices到底是想更新你的过滤驱动还是HID类驱动?实际上,你完全不应该调用这个函数。
《寒江独钓》与《竹林蹊径》的合作作者。精通USB开发,设计了CY001 USB驱动套件(http://bbs.driverdevelop.com/read.php?tid-119314.html)。
游客

返回顶部