阅读:1246回复:10
这个INF为什么这么奇怪?怎么也装不上!
我用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怎么指定? |
|
沙发#
发布于:2002-12-03 17:17
好象少了很多东西哦。
他到哪儿去找HelloWdm.sys? 找一个例子看一下。 |
|
|
板凳#
发布于:2002-12-03 17:22
不啊,我是有意写得最简单的
可以省略SourceDisksNames和SourceDisksFiles 安装时会提示定位HelloWdm.sys 选择了之后还是出现上述错误。 究竟怎么回事呢? 谢谢! |
|
地板#
发布于:2002-12-03 17:29
安装失败。没有为设备指定一个功能驱动程序.
难道你写的是个过滤驱动程序,它需要先安装一个功能驱动程序? |
|
|
地下室#
发布于:2002-12-03 17:32
不是啊,就是DriverWorks中的那个
HelloWdm例子,什么也不干的一个驱动程序,也没有 实际的硬件设备 帮我看看吧,谢谢了!! |
|
5楼#
发布于:2002-12-04 15:34
你没有选择设备的GUID :D
|
|
|
6楼#
发布于:2002-12-04 15:50
可以不要设备类的GUID
这个只会影响安装时的搜索性能 |
|
7楼#
发布于:2002-12-04 16:10
还是太简单了,估计漏了什么东西,一时也看不出来,你可以参考ddk, 有一些是必不可少的。
|
|
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 |
|
|
9楼#
发布于:2002-12-04 17:06
不是吧?
设备类ID和设备ID不一样啊 sys文件里面不会有设备类的相关信息的 |
|
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 |
|
|