Windows设备管理器中的设备分类是怎么分类的?

USB中文网 2021-07-07 23:33:47 编辑

打开设备管理器中,可以看到系统将系统中所有的设备整整齐齐的分门别类以资源管理器的方式显示在设备管理器中。如对于USB设备,所有的USB设备类型都挂接在通用串行总线控制器USB分类下:
通用串行总线控制器

我们不禁要感叹一下,哇瑟,系统好厉害啊,这都能知道,真是一个好秘书。

那么我们现在突发奇想,能不能给设备换一个节点了?
答案是肯定可以的。

其实一个挂载在那个设备类型下,通常来说是按设备类型来区分的。但是这样的说法太笼统了,具体到设备是通过什么标识来进行判断的呢?

这个其实是通过安装驱动INF文件中的ClassGuid来标识的。
如对我们的USB设备驱动,在其INF文件的Version节中,如果我们更改其Class和ClassGuid字段到其它树节点,安装驱动后,这个设备就挂到别的设备树下了。
这样可以通过修改这2个字段来进行设备的树间跳跃。可将设备挂到任意设备树节点下。当然如果我们使用了一个自定义的Class和ClassGuid,Windows也会给我们创建一个新的节点,并将我们的设备挂到此节点下。

[Version]
Signature="$WINDOWS NT$"
Class=USB
ClassGuid={36FC9E60-C465-11CF-8056-444553540000}
Provider=%ManufacturerName%

当然,如果我们不知道某个设备树的Class和ClassGuid是值是什么,也可以选择其设备树下的任意一个设备。查看其设备属性的 类Guid和类 查看其值。
如这里我们选择 Interl(R) USB3.10 可扩展主机控制器-1.10(Microsoft)的类和类Guid信息。

类
类Guid