Secret_Garden
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2008-02-26
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1246回复:10

这个INF为什么这么奇怪?怎么也装不上!

楼主#
更多 发布于:2002-12-03 17:11
我用DriverWorks的HelloWdm例子,
我自己写了个inf文件如下,然后装HelloWdm.sys
可是怎么也装不上,错误信息是:
“安装失败。没有为设备指定一个功能驱动程序”
驱动程序肯定是没问题的,那么这个INF究竟有什么问题呢?

---------------------------------------------------

[Version]
Signature=\"$Chicago$\"
Provider=%ProviderName%
Class=Unknown

[DestinationDirs]
DefaultDestDir=10,System32\\Drivers

[Manufacturer]
%MfgName% = Parad_Mfg

[Parad_Mfg]
%DeviceDesc%=SimpleWdm_DDI, *SimpleWdmDevice

[SimpleWdm_DDI]
CopyFiles=SimpleWdm_Files_Driver

[SimpleWdm_Files_Driver]
HelloWdm.sys,,,2

[Strings]
ProviderName=\"ABC软件\"
MfgName=\"ABC设备有限公司\"
DeviceDesc=\"SimpleWdm Device\"

------------------------------------------

请大侠指教!
此外,硬件ID怎么指定?
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-03 17:17
好象少了很多东西哦。
他到哪儿去找HelloWdm.sys?

找一个例子看一下。
生命驱动,活力无限!
Secret_Garden
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2008-02-26
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-03 17:22
不啊,我是有意写得最简单的
可以省略SourceDisksNames和SourceDisksFiles
安装时会提示定位HelloWdm.sys
选择了之后还是出现上述错误。
究竟怎么回事呢?
谢谢!
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-03 17:29
安装失败。没有为设备指定一个功能驱动程序.
难道你写的是个过滤驱动程序,它需要先安装一个功能驱动程序?
生命驱动,活力无限!
Secret_Garden
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2008-02-26
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-03 17:32
不是啊,就是DriverWorks中的那个
HelloWdm例子,什么也不干的一个驱动程序,也没有
实际的硬件设备
帮我看看吧,谢谢了!!
shengws
驱动大牛
驱动大牛
  • 注册日期2002-03-08
  • 最后登录2010-06-21
  • 粉丝0
  • 关注0
  • 积分384分
  • 威望102点
  • 贡献值0点
  • 好评度37点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-04 15:34
你没有选择设备的GUID :D
喂,小孩,你的小JJ露出来了!
Secret_Garden
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2008-02-26
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-04 15:50
可以不要设备类的GUID
这个只会影响安装时的搜索性能
violet_jj
驱动小牛
驱动小牛
  • 注册日期2002-11-07
  • 最后登录2003-08-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-04 16:10
还是太简单了,估计漏了什么东西,一时也看不出来,你可以参考ddk, 有一些是必不可少的。
shengws
驱动大牛
驱动大牛
  • 注册日期2002-03-08
  • 最后登录2010-06-21
  • 粉丝0
  • 关注0
  • 积分384分
  • 威望102点
  • 贡献值0点
  • 好评度37点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-04 16:46
faint;
以下是hellowdm.Inf
如果你用的是hellowdm.sys,没有guid当然.sys根本不会和你的
.inf匹配。

HelloWdm.Inf - install information file for simple WDM example
; Copyright (c) 1998 Compuware Corporation

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

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

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

Class=CompuwareUnknown
ClassGUID={312b5210-8a24-11d2-9448-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,,

;[SourceDisksFiles]
;HelloWdm.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,,,,%CompuwareClassName%
HKR,,Icon,,\"-18\"

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

[DestinationDirs]
DefaultDestDir=10,System32
SimpleWdm_Files_Driver=10,System32\\Drivers

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

[Manufacturer]
%MfgName% = Compuware_Mfg

[Compuware_Mfg]
%SimpleWdmDevice%=SimpleWdm_DDI, *SimpleWdmDevice

;---------- DDInstall Sections -----------------------------------------------
; --------- Windows 98 -----------------

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

[SimpleWdm_DDI]
CopyFiles=SimpleWdm_Files_Driver
AddReg=SimpleWdm_9X_AddReg

[SimpleWdm_9X_AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,HelloWdm.sys
HKR,,Description,,%HelloWdm_DeviceDesc%

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

[SimpleWdm_DDI.NT]
CopyFiles=SimpleWdm_Files_Driver

[SimpleWdm_DDI.NT.Services]
Addservice = HelloWdm, 0x00000002, SimpleWdm_Service

[SimpleWdm_Service]
DisplayName    = %HelloWdm_SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\\System32\\Drivers\\HelloWdm.sys

; --------- Files ----------------------

[SimpleWdm_Files_Driver]
HelloWdm.sys,,,2

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

[Strings]
Compuware=\"Compuware Corporation\"
MfgName=\"Compuware Corporation\"
SimpleWdmDevice=\"Simple WDM Device\"
HelloWdm_DeviceDesc=\"HelloWdm Device\"
HelloWdm_SvcDesc=\"Driver for Simple WDM Sample\"
CompuwareClassName=\"Compuware Other Devices\"
 :D
喂,小孩,你的小JJ露出来了!
Secret_Garden
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2008-02-26
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-04 17:06
不是吧?
设备类ID和设备ID不一样啊
sys文件里面不会有设备类的相关信息的
shengws
驱动大牛
驱动大牛
  • 注册日期2002-03-08
  • 最后登录2010-06-21
  • 粉丝0
  • 关注0
  • 积分384分
  • 威望102点
  • 贡献值0点
  • 好评度37点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-04 17:20
这是驱动程序HELLDEV.CPP的一段
你可看明白了,

#include <vdw.h>
#include \"HelloWdm.h\"
#include \"HelloDev.h\"
#include \"HelloDI.h\"

GUID HelloDevGuid = HELLO_CLASS_GUID; :D :D
喂,小孩,你的小JJ露出来了!
游客

返回顶部