一号热搜榜,为您提供最新的热搜资讯,热搜榜信息!

闲聊Windows注册表-PCI四元组及设备实例ID

科技热搜 作者:互联网收集 热度:223

闲聊Windows注册表-PCI四元组及设备实例ID

继续注册表系列,前面有七讲,感兴趣的同学可以快速浏览“Windows注册表深入解读系列”,今天的关注点是HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumPCI下的内容:

PCI设备的设备ID及实例ID

win10主机id

为什么会关注到PCI设备,主要是当前计算机总线基本上被PCI总线垄断,我们看下Windows下描述的设备树:

win10主机id

Windows下的设备树(从叶子到根)

可以看到ACPI为主干,到PCI后分支到很多类型的设备,甚至USB设备也是挂在PCI总线下的。它们在Windows设备管理器的表现是这样的(依连接列出设备):

设备管理器中展示的设备树

那么具体到第一张图片上的注册表,我们看到的是奇怪的由&符号连接字符串,这个字符串不是凭空来的,它是Windows表示PCI设备的一种形式,&符号把设备ID分为四段,分别是PCI设备的Vendor ID(厂商ID)、Device ID(设备ID)、子系统ID(Subsystem ID)、修订版本ID(Revision ID),这些ID数据存储在PCI设备的PCI配置空间中,系统启动枚举设备时会读出并生成该设备对象,由此生成代表该设备的这串字符,保存在注册表中。厂商ID可向https://pcisig.com/申请分配,感兴趣的同学可以去看一下。我们来解析一下图中的字符串VEN_10DE&DEV_1C8C&SUBSYS_07981028&REV_A1:

接下来我们研究一下设备实例ID:4&283d4f80&0&0008。估计全网讲这个组成的几乎没有吧。它也是由&符号分隔的字符串,每一段都有不同的意义:

今天就讲到这里,欢迎大家留言讨论。

标签: 注册表     四元组     Windows