阅读:3192回复:13
关于.inf文件的问题
各位高手:
我做了一个WDM的硬件驱动程序。在ME中安装通过(能不能找到设备接口,我还没试),中断,I/O口都有了,通过VC的_outp(port,data),也可以将数据发下去。 但在2000中安装,问题就来了,系统可以识别我命名的设备,但在安装时,指明了INF文件后,系统提示为: “不推荐安装这个驱动程序,原因是WINDOWS无法确认这个驱动程序是否与硬件兼容。。。”,问我是否安装,我选择安装,提示:“缺少指定的安装项”。 我的INF文件可是从chris cant 的那本书上改来的,不该有错啊! 我不知道这个问题和我硬件的哪个方面相关联? 有过这方面的高人,忘不吝赐教! 谢了,先! |
|
最新喜欢:![]() |
沙发#
发布于:2001-07-04 00:47
应该和你的硬件号有关,你的硬件是什麽接口的
|
|
板凳#
发布于:2001-07-04 08:15
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2001-07-04 10:25
加一行
ClassGUID={4D36E97E-E325-11CE-BFC1-08002BE10318} 试一试 |
|
地下室#
发布于:2001-07-04 11:17
我用的是端口设备类。
如果定义自己的设备类,说要什么EXCLUDEFROMSELECT=XXX oney 的那本书,我翻来覆去地看也没有看明白。 |
|
5楼#
发布于:2001-07-04 14:31
你可以试一下W2000 DDK中生成inf文件的工具。
[nofer 编辑于 2001-07-04 14:35] |
|
|
6楼#
发布于:2001-07-04 16:12
这个工具生成的东西,我觉得更糟糕!!
|
|
7楼#
发布于:2001-07-04 22:49
有一次我装驱动时,好象是声卡的驱动没有数字签名,那时WINDOWS弹出的对话框明确地告诉我没有数字签名、不推荐安装,并问我是否继续。所以我认为和数字签名无关,很可能是你没给出完整的硬件号,WINDOWS用了兼容ID去找驱动,产生了这个问题。
数字签名我也很奇怪,在我的开发机子上没他只是数字签名和日期不正常,也没弹个对话框出来 |
|
8楼#
发布于:2001-07-05 09:23
你的.inf文件能贴出来吗?
|
|
9楼#
发布于:2001-07-05 15:24
;GprsCard.inf istall information file
;Copyright (c) 2001 panss Microne Electronics Ltd. [Version] Signature="$CHICAGO$" Class=GprsCard ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318} ;ports Provider=%Microne% CatalogFile=Microne.cat DriverVer=06/25/2001,1.0.1.0 [Manufacturer] %Microne%=Microne [Microne] %GprsCard-0001.DeviceDesc% = GprsCard.Install , *PCMCIA\Microne-GprsCard-E2BD [DestinationDirs] GprsCard.Files.Driver=10,System32\Drivers GprsCard.Files.Driver.NTx86=10,System32\Drivers [SourceDisksNames] 1="GprsCard Install Directory",,, [SourceDisksFiles] GprsCard.sys=1 [SourceDisksFiles.x86] GprsCard.sys=1, ;-----------------------------windows98----------------------------------------------------------- [GprsCard.Install] CopyFiles=GprsCard.Files.Driver AddReg=GprsCard.AddReg [GprsCard.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,GprsCard.sys [GprsCard.Files.Driver] GprsCard.sys ;------------------------------windows 2000------------------------------------------------------- [GprsCard.Install.NTx86] CopyFiles=GprsCard.Files.Driver.NTx86 [GprsCard.Files.Driver.NTx86] GprsCard.sys,,, %COPYFLG_NOSKIP% ; prototype: destination , source, temporary, flags [GprsCard.Install.NTx86.Services] AddService=GprsCard,0x00000002, GprsCard.Service ;----------------------------service segment----------------------------------------------------- [GprsCard.Service] DisplayName=%GprsCard.ServiceName% ServiceType=1 ;SERVICE_KERNEL_DRIVER StartType=3 ;SERVICE_DEMAND_START ErrorControl=0 ;SERVICE_ERROR_IGNORE ServiceBinary=%10%\System32\Drivers\GprsCard.sys ;----------------------------string segment------------------------------------------------------ [Strings] Microne="Microne Eletronics Ltd." GprsCard-0001.DeviceDesc="Microne PCMCIA Gprs Card" SERVICEAROOT ="System\CurrentControlSet\Service" GprsCard.ServiceName= "WDM GprsCard Driver" COPYFLG_NOSKIP=2 ;DO NOT ALLOW USER TO SKIP 这是我的INF文件,现在2000中也可以安装,但用DDK中的 CHKINF检查还是有错。 另外,如果,我想定义一个新的设备类,要求在EXCLUDEFROMSELECT中给出,我实验了N次,也没搞明白到底如何在EXCLUDEDERFROMOSELECT 中给出设备类 |
|
10楼#
发布于:2001-07-05 23:18
把"%GprsCard-0001.DeviceDesc% = GprsCard.Install , *PCMCIA\Microne-GprsCard-E2BD "中的“*”去了试试
|
|
11楼#
发布于:2001-07-06 09:56
*的作用表示这是一个字符串指针,和加双引号的作用是一样的。
|
|
12楼#
发布于:2001-07-06 10:16
如果自定义一个设备类很简单。
如下: [version] ;version section Signature="$CHICAGO$" Class=GprsCard ClassGUID={78A1C341-4539-11d3-B88D-00C04FAD5171} ;your Provider=%Microne% ;classguid CatalogFile=Microne.cat DriverVer=06/25/2001,1.0.1.0 [ClassInstall32] ;a new class will be added to Addreg=GprsCardClassReg ;the system registry ;(HKLM\System\CurrentControl\class) [GprsCardClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-5 至于ExcludeFromSelect你可看ddk的inf说明 |
|
13楼#
发布于:2001-07-06 13:13
ExcludeFromSelect的问题我看了,也试了,但总是理不好起顺序关系
%device%=gprs.classinstall32,*pcmcia\****-****-1234 厂家ID,设备ID 这里不允许,不放在这里又不对。 DDK 中ExcludeFromSelect是放在CONTROLFLAG下的,用NTDDK提供的工具校验的! |
|