阅读:1448回复:13
Wdm1例子的安装问题,大侠救命!!!!
我直接编译的chris cant的那本Windows WDM设备驱动程序开发指南书上的例子wdm1,编译通过了,生成了free和checked环境下的sys文件
因为我把wdm1文件夹放在在d盘下wdmtest目录下了,所以我对他的inf文件进行了稍微的修改,如下: ; Wdm1free.Inf - install information file ; Copyright ?1998,1999 Chris Cant, PHD Computer Consultants Ltd [Version] Signature=\"$Chicago$\" Class=Unknown Provider=%WDMBook% DriverVer=05/19/1999,1.0.6.0 [Manufacturer] %WDMBook% = WDM.Book [WDM.Book] %Wdm1%=Wdm1.Install [DestinationDirs] Wdm1.Files.Driver=10,System32\\Drivers Wdm1.Files.Driver.NTx86=10,System32\\Drivers [SourceDisksNames] 1=\"Wdm1\",Disk1,, ~~~~~~~~~~~~~~~~改了这个地方,不知道对不对? [SourceDisksFiles] Wdm1.sys=1,obj\\i386\\free [SourceDisksFiles.x86] Wdm1.sys=1,objfre\\i386 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Windows 98 [Wdm1.Install] CopyFiles=Wdm1.Files.Driver AddReg=Wdm1.AddReg [Wdm1.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,Wdm1.sys [Wdm1.Files.Driver] Wdm1.sys ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Windows 2000 [Wdm1.Install.NTx86] CopyFiles=Wdm1.Files.Driver.NTx86 [Wdm1.Files.Driver.NTx86] Wdm1.sys,,,%COPYFLG_NOSKIP% [Wdm1.Install.NT.Services] AddService = Wdm1, %SPSVCINST_ASSOCSERVICE%, Wdm1.Service [Wdm1.Service] DisplayName = %Wdm1.ServiceName% ServiceType = %SERVICE_KERNEL_DRIVER% StartType = %SERVICE_DEMAND_START% ErrorControl = %SERVICE_ERROR_NORMAL% ServiceBinary = %10%\\System32\\Drivers\\Wdm1.sys ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Strings [Strings] WDMBook=\"WDM Book\" Wdm1=\"WDM Book: Wdm1 Example, free build\" Wdm1.ServiceName=\"WDM Book Wdm1 Driver\" SPSVCINST_ASSOCSERVICE=0x00000002 ; Driver service is associated with device being installed COPYFLG_NOSKIP=2 ; Do not allow user to skip file SERVICE_KERNEL_DRIVER=1 SERVICE_AUTO_START=2 SERVICE_DEMAND_START=3 SERVICE_ERROR_NORMAL=1 可是在安装的时候,在选择了inf文件的位置的时候,他总是提示如下: “指定的位置不包含有关硬件的信息”,这是怎么回事?我都搞了两天了,inf文件我也看了,没有什么问题?还有驱动程序的.rc文件和驱动inf文件有什么关系吗?驱动inf文件有什么关于硬件的信息啊?? |
|
沙发#
发布于:2003-06-03 10:52
把sys文件放到他的一个子目录\\sys\\obj\\i386下,\\sys\\objchk\\i386下试试。
|
|
板凳#
发布于:2003-06-03 19:48
我是win2000的系统啊!
|
|
地板#
发布于:2003-06-04 01:13
我在98下改了路径,他找不到文件会弹出对话筐的,让你输入路径。
所以路径并不是很重要的,只是方便用户的。 |
|
|
地下室#
发布于:2003-06-04 07:58
rc文件没什么关系。安装的时候指定是Unknown设备试试。
|
|
5楼#
发布于:2003-06-04 11:30
谢谢各位的回答,现在是这样的,我在inf文件中添加了一个classGUID以后,他不再提示\"指定的位置不包含有关硬件的信息“
但是现在在最后提示: 设备安装时,出现错误 在inf中找不到所需的区域 情大侠看一下下面的这个inf文件,他所指的区域是那一个啊?? [Version] Signature=\"$Chicago$\" Class=Unknown classGUID={75443cc0-8b80-11d7-9158-86ebb9d50f3d} Provider=%WDMBook% DriverVer=06/03/2003,1.0.0.1 [Manufacturer] %WDMBook% = WDM.Book [WDM.Book] %Wdm1%=Wdm1.Install [DestinationDirs] Wdm1.Files.Driver=10,System32\\Drivers ;Wdm1.Files.Driver.NTx86=10,System32\\Drivers [SourceDisksNames] 1=\"myWDM1\",,, ;[SourceDisksFiles] ;myWDM1.sys=1,obj\\i386\\free ;[SourceDisksFiles.x86] ; myWDM1.sys=1,objfre\\i386 [SourceDisksFiles] myWDM1.sys=1,objfre\\i386 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Windows 98 [Wdm1.Install] CopyFiles=Wdm1.Files.Driver AddReg=Wdm1.AddReg [Wdm1.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,myWDM1.sys [Wdm1.Files.Driver] myWDM1.sys ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Windows 2000 [Wdm1.Install.NT] CopyFiles=Wdm1.Files.Driver.NT [Wdm1.Files.Driver.NT] myWDM1.sys,,,%COPYFLG_NOSKIP% [Wdm1.Install.NT.Services] AddService = myWDM1, %SPSVCINST_ASSOCSERVICE%, Wdm1.Service [Wdm1.Service] DisplayName = %Wdm1.ServiceName% ServiceType = %SERVICE_KERNEL_DRIVER% StartType = %SERVICE_DEMAND_START% ErrorControl = %SERVICE_ERROR_NORMAL% ServiceBinary = %10%\\System32\\Drivers\\myWDM1.sys ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Strings [Strings] WDMBook=\"ZJUEE319\" Wdm1=\"MYWDM: Wdm1 Example, free build\" Wdm1.ServiceName=\"MY WDM Wdm1 Driver\" SPSVCINST_ASSOCSERVICE=0x00000002 ; Driver service is associated with device being installed COPYFLG_NOSKIP=2 ; Do not allow user to skip file SERVICE_KERNEL_DRIVER=1 SERVICE_AUTO_START=2 SERVICE_DEMAND_START=3 SERVICE_ERROR_NORMAL=1 |
|
6楼#
发布于:2003-06-04 15:18
第二个问题已解决,第一个不包含硬件信息的问题还没有,大牛们出手把,一定会给分的!!
|
|
7楼#
发布于:2003-06-05 10:38
这个问题我也碰到,
; Windows 2000 [Wdm1.Install.NTx86] CopyFiles=Wdm1.Files.Driver.NTx86 [Wdm1.Files.Driver.NTx86] Wdm1.sys,,,%COPYFLG_NOSKIP% [Wdm1.Install.NT.Services] AddService = Wdm1, %SPSVCINST_ASSOCSERVICE%, Wdm1.Service [Wdm1.Service] DisplayName = %Wdm1.ServiceName% ServiceType = %SERVICE_KERNEL_DRIVER% StartType = %SERVICE_DEMAND_START% ErrorControl = %SERVICE_ERROR_NORMAL% ServiceBinary = %10%\\System32\\Drivers\\Wdm1.sys 是这里的一项有问题,具体哪项不记得,你好好研究研究, |
|
|
8楼#
发布于:2003-06-06 11:14
楼上的大哥,是那一句啊?我对着INF文件的文档看了半天,也没看出那句有问题啊?
|
|
9楼#
发布于:2003-06-06 16:02
重新安装WIN2000,保证你能成功安装WDM1.
我也一样,原来机子不行,后来我换了两台新的WIN2000,都能成功安装. :cool: |
|
10楼#
发布于:2003-06-06 16:14
谢谢楼上的大侠!!
重要的是原因在那???因为有人没有重装系统,通过改inf文件也可以了啊? |
|
11楼#
发布于:2003-06-06 16:15
[WDM.Book]
%Wdm1%=Wdm1.Install,UnkownWdmBook 加个硬件ID试试. |
|
12楼#
发布于:2003-06-06 17:07
谢谢楼上的大侠
想问一下,这儿的硬件id到底有什么作用? 我确实把那本书上的inf文件的硬件id删除了,可是我感觉他好像没有什么用处啊?sys文件可以区分硬件id吗? |
|
13楼#
发布于:2003-06-06 23:37
简单的说是硬件设备在PNP兼容总线上声明是返回的pnp标识符。
|
|
|