阅读:1716回复:12
从控制面板安装时,提示INF文件“指定的位置无硬件信息”,是什么原因?
我正在学作Driver,用DDK。我做了个简单的光驱驱动,可我在安装时,通过控制面板,系统总是提示:指定的位置无硬件信息。有谁知道事什么原因吗?谢谢!
|
|
沙发#
发布于:2003-06-04 07:40
我也是刚学,不过你说的这个问题似乎和Version段的Class和ClassGUID有关……
|
|
板凳#
发布于:2003-06-04 09:03
我的INF文件中:Class=CDROM; ClassGuid={4D36E965-E325-11CE-BFC1-08002BE10318}。有什么问题吗?
|
|
地板#
发布于:2003-06-04 14:17
是不是没有写硬件ID
|
|
地下室#
发布于:2003-06-04 15:13
我也遇到了这样的问题,非常迷惑,你可以试试其他的机器,看可不可以,反正的我的两台机子都不行,一台提示不包含硬件的信息,另一台确认了驱动可以安装,可是在最后却提示操作无法进行,因为文件队列已被锁定,我都快疯了,咔咔,这是怎么回事啊?
你解决问题了吗? |
|
5楼#
发布于:2003-06-04 16:19
inf中的class要和你CreateDevice中的设备类型一样才行。
|
|
6楼#
发布于:2003-06-05 09:30
楼上的大侠,我得程序就是Chris Cant的那个wdm1例子,其inf中的class为unkown,createdevice中的也是FILE_DEVICE_UNKOWN,这个应该没有问题
有人说是硬件id的问题,这个例子是一个虚拟的,没有硬件的,但是在他的inf中确实有一个硬件id,为*WDMBook\\wdm1,我不知道这个硬件id在源程序中的那个地方设置啊?是在资源文件.rc中?还是sys文件根本就没有硬件id这个标志,硬件id只是设备管理器使用的?? |
|
7楼#
发布于:2003-06-05 12:43
谢谢各位!我已经安装起了,我修改了INF中的Class和ClassGUID,修改后为:Class=CDROM; ClassGuid={64D853EA-599D-4C51-9C51-6C338B1A53E2}。这是我自己现生成的一个GUID。我想为什么GUID不能是{4D36E965-E325-11CE-BFC1-08002BE10318}?
|
|
8楼#
发布于:2003-06-06 16:43
可能是这种已经指定为特种设备的,其GUID为固定的吧?
不知道对不对,大侠指正一下!! |
|
9楼#
发布于:2003-06-06 16:58
预定义的设备类型的ClassGUID当然是固定的。
楼主的这个设备类型好像是自定义的吧,应该用自定义的ClassGUID。 不过,ClassGUID好象是NT系列才用的,以前9x只用Class就够了。不知楼主用的什么OS [编辑 - 6/6/03 by jason.gao] |
|
|
10楼#
发布于:2003-06-06 18:56
Class=Unknown
应该能安装一切驱动,你安装的时候指定是unknown设备了么? |
|
11楼#
发布于:2003-06-06 20:40
有些懂了,其实源程序中GUIDS.h中声明的那个GUID和INF文件中的那个ClassGuid不是一回事,前面的那个是为了给设备起名子用的,后面的是为了安装驱动的时候寻找驱动程序的,是这样吗?
|
|
12楼#
发布于:2003-06-06 22:59
我的OS 是WIN2000, 我安装的是一个虚拟光驱的程序。设置Class=CDROM; ClassGUID=\"自定义\",就可以安装了!
|
|