阅读:1356回复:5
关于GUID的问题
在源程序中使用的GUID和在inf文件中的ClassGUID有什么联系?
如果程序中有,而inf文件中没有写classguid这一项绘出现什么问题?而程序中没有GUID,但是inf文件中又写了ClassGUID这一项,会怎么样那?以上这两种情况是不是都是正确的,对编译以后的驱动,安装使用都没有问题啊??? |
|
沙发#
发布于:2003-06-06 11:44
在源程序中使用的GUID和在inf文件中的ClassGUID有什么联系? |
|
|
板凳#
发布于:2003-06-06 19:21
Guid和ClassGuid是完全不同的两个概念。
驱动程序中注册的Guid只是为其它程序打开该驱动程序设备句柄提供一种方式,你完全可以不用GUID,直接写一个符号连接。 ClassGuid是.inf中Class这项对应的设备类的GUID,比如CDROM就是一个设备类,系统为CDROM这个设备类定义了一个GUID,你可以在.inf的ClassGuid项填入该GUID,这个GUID具体是什么可以去msdn查,一个设备类的GUID是唯一的。其实ClassGuid项只是系统在为新设备查找驱动时可以更快捷地找到对应驱动而加入的。 GUID是全局唯一标识符,因为它不会生成重复码,所以一般用来标识需要唯一确定的东西。 |
|
地板#
发布于:2003-06-06 20:30
楼上的大侠,我就有些不太明白了,既然程序中的GUID与ClassGuid是不同的概念,那么为什么在程序中使用了GUID,在inf文件中没有ClassGuid就不可以那?
|
|
地下室#
发布于:2003-06-06 21:09
在程序中使用了GUID,在inf文件中没有使用也是可以的。
Chris Cant的书里面wdm1的驱动inf就定义了一个Class=Unknown,不过ClassGuid没有给出,而驱动程序中是使用的guid。 其实我也是刚学没多久,如果有什么不对的地方,希望高手指正。 |
|
5楼#
发布于:2003-06-06 21:18
If an INF specifies a Class it should also specify the corresponding system-defined GUID value for its ClassGUID entry. Specifying the matching GUID value for a device of any predefined device setup class can install the device and its drivers faster since this helps the system setup code to optimize its INF searching.
上面是msdn中的原文,就理解似乎不是neccessory,只是可以optimize inf searching... |
|