ycw00
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2002-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1822回复:17

一个关于INF文件的问题!

楼主#
更多 发布于:2002-06-26 15:54
请问大侠,我碰到的如下问题改怎么解决:
我编写了一个WDM驱动,成功的生成了.sys文件
我对.inf文件进行了修改
可是在安装的时候老是出现如下的提示:
让我插入标签为“Install Disk”的磁盘。
请问到底是什么问题?我的INF文件是不是再那个地方改错了?

小弟是个初学者,先去按照例子编了一个WDM程序,对INF也改了,但是成功了!在我编写第二个的时候,就出现这个问题了。请各位大侠多多指点!
ycw00
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2002-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-26 16:15
我对于问题还要补充几句:
再添加新硬件中,最后安装给出的信息是这样的:在Install Disk上找不到.sys文件。
在详细错误中是这样提示的:产生下列错误:没有其他文件(错误#12)
安装文件无法完成 正在打开源盘上的文件。
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-26 16:21
把你的INF文件贴上来呀,这样才便于给你解决问题,总不能总是让别人去猜吧。
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-26 16:46
1、将INF和SYS放在一个目录下。
2、SYS文件必须符合8.3规则。
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
ycw00
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2002-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-26 16:51
多谢大侠指点:我的INF文件如下:
;; New_Intwdm.inf

;; *********  PLEASE READ ***********
;; The wizard cannot create exact INF files for all buses and device types.
;; You may have to make changes to this file in order to get your device to
;; install. In particular, hardware IDs and logical configurations require
;; intervention.
;;
;; The Win2K DDK documentation contains an excellent INF reference.

;--------- Version Section ---------------------------------------------------

[Version]
Signature=\"$Windows 95$\"
Provider=%ProviderName%

; If device fits one of the standard classes, use the name and GUID here,
; otherwise create your own device class and GUID as this example shows.

;Class=NewDeviceClass
Class=Unknown
ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b}

;--------- SourceDiskNames and SourceDiskFiles Section -----------------------

; These sections identify source disks and files for installation.  They are
; shown here as an example, but commented out.

;[SourceDisksNames]
;1 = \"Install Disk\",Disk1,,

[SourceDisksNames]
1 = \"Install Disk\",,

;[SourceDisksFiles]
;New_Intwdm.sys = 1,,

[SourceDisksFiles]
New_Intwdm.sys = 1,,

;--------- ClassInstall/ClassInstall32 Section -------------------------------

; Not necessary if using a standard class

; 9X Style
[ClassInstall]
Addreg=Class_AddReg

; NT Style
[ClassInstall32]
Addreg=Class_AddReg

[Class_AddReg]
HKR,,,,%DeviceClassName%
HKR,,Icon,,\"-18\"

;--------- DestinationDirs Section -------------------------------------------

[DestinationDirs]
New_Intwdm_Files_Driver = 10,System32\\Drivers

;--------- Manufacturer and Models Sections ----------------------------------

[Manufacturer]
%MfgName%=Mfg0

[Mfg0]
%DeviceDesc%=New_Intwdm_DDI, !YOUR HARDWARE ID HERE!

;---------- DDInstall Sections -----------------------------------------------
; --------- Windows 9X -----------------

; Experimentation has shown that DDInstall root names greater than 19 characters
; cause problems in Windows 98

[New_Intwdm_DDI]
CopyFiles=New_Intwdm_Files_Driver
AddReg=New_Intwdm_9X_AddReg
LogConfig=New_Intwdm_Config

[New_Intwdm_9X_AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,New_Intwdm.sys

; --------- Windows NT -----------------

[New_Intwdm_DDI.NT]
CopyFiles=New_Intwdm_Files_Driver
LogConfig=New_Intwdm_Config

[New_Intwdm_DDI.NT.Services]
Addservice = New_Intwdm, 0x00000002, New_Intwdm_AddService

[New_Intwdm_AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\\System32\\Drivers\\New_Intwdm.sys

; ------ Logical Config (common) -------

[New_Intwdm_Config]
; This is the logical configuration for the device. If the device has no
; hardware resources, you can remove this section, and remove the reference
; to it in section [New_Intwdm_Device]
;

;ConfigPriority=HARDRECONFIG
ConfigPriority=NORMAL

; The allowed values for ConfigPriority are:
; HARDWIRED Cannot be reset in any way
; DESIRED Soft Configurable most optimal
; NORMAL Soft Configured medium optimal
; SUBOPTIMAL Soft Configured least optimal
; DISABLED Hardware disabled
; RESTART Requires Windows restart to affect
; REBOOT Requires system reboot to affect
; POWEROFF Requires power cycle to affect
; HARDRECONFIG Requires Jumper setting
;

;IRQConfig=IRQNUM
IRQConfig=4,5,9,10,11

;; TODO: You must replace IRQNUM in the line above with the correct IRQ for your device

; --------- Files (common) -------------

[New_Intwdm_Files_Driver]
New_Intwdm.sys

;--------- Strings Section ---------------------------------------------------

[Strings]
ProviderName=\"Your Company Name here\"
MfgName=\"Name of HW Manufacturer here\"
DeviceDesc=\"WDM new int wdm 演示 \"
DeviceClassName=\"其他设备\"
SvcDesc=\"Description of NT service here\"
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-26 16:56
将你的第一个驱动完全删干净,包括注册表里的ff646f80-8def-11d2-9449-00105a075f6b及其相关选项,再装第二个,就可以啦 :D
ycw00
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2002-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-26 17:00
我已经把.sys文件和.inf文件放在了同一目录下了
什么是8.3规则?
上面我贴出了我的INF文件,它是DriverWorks生成的,应该满足你说的规则吧!我就是在这个INF文件基础上进行改动的。
我还有一个问题,我发觉我用DriverWorks生成的Wdm驱动程序,再INF中发现怎么不同的WDM程序会有相同的Class GUID呢?我印象里应该是不同的WDM被分配不同的Class GUID啊!
请大侠指导!
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-26 17:29
你用driverworks一路向导下来,当然Class GUID一样子的啦,所以如果你还用这个,没有将前面的删掉,注册表就会重复固定的寻找你以前的*.sys,但你又不想装.所以就不让你装,但你有想装,.... :D :D
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-26 17:56
我已经把.sys文件和.inf文件放在了同一目录下了
什么是8.3规则?
上面我贴出了我的INF文件,它是DriverWorks生成的,应该满足你说的规则吧!我就是在这个INF文件基础上进行改动的。
我还有一个问题,我发觉我用DriverWorks生成的Wdm驱动程序,再INF中发现怎么不同的WDM程序会有相同的Class GUID呢?我印象里应该是不同的WDM被分配不同的Class GUID啊!
请大侠指导!



\"什么是8.3规则?\"  

哎。。。。。。。。。。。。。。

是指文件名及后缀的字符数

 


 :(
[color=red]大头鬼! :P[/color]
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-26 18:26
New_Intwdm 数数几个字母了?!
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
hawie
驱动小牛
驱动小牛
  • 注册日期2002-05-30
  • 最后登录2004-02-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-27 09:32
我跟YCW00遇到过同样的问题,我的*。SYS和INF文件名绝对符合8。3规则,可是还是有同样的问题,错误。我觉得LAKE说的好象很有道理,回去试一下看。谢谢哦
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-27 10:12
1、将INF和SYS放在一个目录下。
2、SYS文件必须符合8.3规则。

这两条都不是必要的,首先,INF和SYS可以不在一个目录下,只需这样:
[SourceDisksNames]
1 = \"Install Disk\",,SYS
就表示*.sys文件在*.inf文件所在目录的\\sys子目录中;
其次,*.sys文件如是只在Windows2000/XP中,是不需要8.3格式的;但若要兼容win98/Me,才需要尊守8.3格式。DDK文档:Note  The Windows Me DDK cannot be installed in a directory that does not follow the 8.3 naming convention. DDK2000中对8.3就没有此要求。而且我的一个WDM驱动就是9.3了,在2000下正常使用。
hawie
驱动小牛
驱动小牛
  • 注册日期2002-05-30
  • 最后登录2004-02-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-06-27 10:32
恩,还是BLUE厉害哦。确实可以。
ycw00
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2002-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-27 11:39
请问大侠:
我用DriverWorks的Driver Wizard编写了不同的WDM程序,可是得到的Class GUID是相同的,这好象不对吧!这是为什么呢?
我在Win98下的WDM程序安装这样编程的两个WDM程序,安装不上,是不是与Class GUID有关,前面一个朋友告诉我删除注册表里的前一个WDM程序的内容,我想如果编写不同的WDM程序有不同的Class GUID号是不是可以不要删除前一个WDM程序了吗?
如果我要使不同的WDM有不同GUID号,我应该在什么地方改动呢?
我还有一个问题:
我删除了前一WDM的程序注册表中的东西,我对注册表不熟悉,现在我想恢复眼来删除之前的注册表内容,我该怎么办呢?
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-27 12:57
class guid 在向导中会有一项显示guid的数据,你可以在那里面改,
至于注册表,win98可以从起后直接进入dos模式下,键入scanreg/restore,选中你认为没有被破坏的注册表,就可以的啦,如果guid相同,你也可以在资源管理器中直接选中设备,在属性中重新安装驱动程序即可,win2k我忘了怎么恢复了,不过印象中也可以,好像更简单,winme中直接有这样的工具.
xbzjackey
驱动小牛
驱动小牛
  • 注册日期2002-12-27
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望34点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-03-23 16:31
又长见识了。
回答好的不要忘了给分哦。。。
cxm1212
驱动牛犊
驱动牛犊
  • 注册日期2005-03-04
  • 最后登录2005-08-29
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-03-26 14:36
 我在往上拷贝到一个叫HelloWDM的雏形程序,对于里面的makefile文件和INF文件应该怎么用啊,是直接拷贝到.cpp文件下吗?还有调试的环境怎么设置啊。是不是在VC下编译再到DDK的调试环境下去测试啊,谢谢指点!
shaiyan
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-03-28 17:18
我在往上拷贝到一个叫HelloWDM的雏形程序,对于里面的makefile文件和INF文件应该怎么用啊,是直接拷贝到.cpp文件下吗?还有调试的环境怎么设置啊。是不是在VC下编译再到DDK的调试环境下去测试啊,谢谢指点!

我也想请教一下这个makefile 的问题!
游客

返回顶部