cranium
驱动牛犊
驱动牛犊
  • 注册日期2012-01-14
  • 最后登录2012-01-14
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1648回复:1

设备管理器中为设备提供友好的显示名称

楼主#
更多 发布于:2012-01-14 10:46
大家好:
      我遇到了一些问题。在设备管理器中,如果存在多个串口,串口的设备名称最后会有COM1、COM2等字样,于是我们就很容易区分哪一个设备对应的是哪一个串口。这个字符是在驱动的enum子键下FriendlyName提供的。
      现在我也有这么一个驱动,它会支持多个同样的设备,我也希望在设备管理器中提供这样的名称,如"MY DEVICE(DID5)"。但是我找了许久的资料都未能解决这个问题。
      首先,我试图从驱动本身入手,因为驱动知道自己的信息,但最终由于驱动无法访问enum子键的内容(确切的说是XP下无法修改此键内容,至少我没有找到修改的方法),不得已放弃了这种方案。(VISTA及以后系统中提供了新的函数貌似可以更改这个键的内容,但是XP下没有提供)。
      然后,我分析了MS串口驱动本身的做法,希望从它那里找出一些头绪。我监视了串口设备安装时的注册表修改操作,发现是service.exe这个程序做的FriendlyName项的修改工作,也就是说MS是在用户层下面做的,而不是在serial.sys驱动里。MS串口提供了一个COM编号的修改界面,但是我不清楚这个对话框如何获取设备信息的?也就没有办法知道该修改哪一个注册表键。
      我也查看了一下msport.inf文件的内容,关于COM的信息似乎没有什么特别的动作,一切都像普通的驱动那样按部就班的完成驱动的注册。MS的驱动安装程序会专门为COM和并口提供这种命名的支持吗?(我随便猜猜)
 
      希望有过类似经验和共同疑问的朋友帮帮我。
      
cranium
驱动牛犊
驱动牛犊
  • 注册日期2012-01-14
  • 最后登录2012-01-14
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-01-14 10:50
补充一点: 不希望手工的方式修改。

就像我们安装串口驱动那样,MS并没有让我们一定要安装完驱动后再跑去修改注册表才允许我们使用COM1。  MS的串口驱动一安装完成,什么额外的工作都不需要我们做就可以看到(COM1)显示在了设备的名称后面。
游客

返回顶部