阅读:1506回复:7
关于GUID的设备名称
在驱动程序中可以用GUID进行设备名称的注册,可是如何让win32用户程序知道该设备的可用名称呢.看书中的解释,好象也必须先知道该设备所用的GUID才可以用Setupdigetclassdevice(), Setupdienumdevice(),SetupdigetdeviceInterfacedetail(),等函数获取到win32程序可见的设备名称.
如果驱动程序和WIN32用户程序不是一个人写, 则如何解决这个问题呢? 望高手赐教! |
|
最新喜欢:eyeszh... |
沙发#
发布于:2002-10-07 16:42
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2002-10-07 18:59
兄弟好象并没有回答我的问题啊
|
|
地板#
发布于:2002-10-08 08:37
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2002-10-08 09:24
标准设备必须安照一定的规则来写,也有固定的访问接口
非标准设备你要作驱动,不能光写驱动吧,怎么的也的写个dll方便应用层的调用吧 :D |
|
|
5楼#
发布于:2002-10-08 13:05
标准设备必须安照一定的规则来写,也有固定的访问接口 nod :D |
|
6楼#
发布于:2002-10-09 11:46
你所说的应该是设备接口的问题,提到设备接口先简单说说符号链接名,符号链接名不同于过去的设备名,设备名是给内核态的其他代码访问本设备时使用的,
符号链接名可以被用户态代码通过文件系统API访问。 驱动程序可以为设备注册一个设备接口,GUID是用来唯一标示某类设备接口的,系统会自动为某类 设备接口的所有提供者分配一个符号链接名,在不同的机器上同一个设备对应的符号链接名可能不同, 所以应用程序应该通过GUID来得到符号链接名,而后使用符号链接名访问设备。 完整的设备接口被用来提供内核代码间的直接耦合,也就是一个驱动程序可以直接调用另一个驱动程序 中的代码,具体做法类似与组件对象模型COM,请参考DDK的示例。 所以,标准的设备的设备接口使用的GUID是公开的,如果是自己开发的新设备,协作各方当然要公用 同一个GUID了,我不知道这是否需要到MS去注册。 |
|
7楼#
发布于:2002-10-10 10:13
还是archims比较了解偶的想法,解释的比较明白。
thank you very much. |
|