标识符分数
驱动程序包排名的格式为 0xSSGGTHHH,其中 0xSS000000 的值是 签名分数,0x00GG0000 的值是 特征分数,0x0000THHH 的值是标识符分数。
标识符分数根据设备的总线驱动程序报告的即插即用 (PnP) 设备标识字符串与在驱动程序包 INF 文件中的 INF Models 部分条目中指定的对应设备标识字符串之间的匹配类型,对驱动程序包进行排名。
标识符分数是标识符匹配类型分数和标识符列表位置分数的总和。 标识符匹配类型分数会根据设备硬件 ID 或设备兼容 ID 是否与 INF Models 部分条目中的某个硬件 ID 或兼容 ID 匹配,对驱动程序包进行排名。 INF 模型部分条目中的设备硬件 ID 与硬件 ID 之间的匹配称为硬件 ID 匹配。 至少有一个匹配标识符是兼容 ID 的匹配称为兼容 ID 匹配。
对于给定的标识符匹配类型,标识符列表位置分数根据硬件 ID 列表中匹配标识符的位置或设备的兼容 ID 列表以及 INF Models 节条目中匹配标识符的位置对驱动程序包进行排名。 具体而言,每个设备都有硬件 ID 的有序列表,以及设备总线驱动程序报告的兼容 ID 的有序列表。 标识符在列表中排序,从最具体到最通用的功能。 此外,每个 INF Models 节条目都有一个硬件 ID 和一个可选的兼容 ID 列表,这些 ID 按最特定于最通用功能的顺序列出,如下所示:
device-description=install-section-name,[hw-id][,compatible-id,...] ...
设备标识符列表中的第一个标识符具有标识符列表位置分数0x0000,第二个标识符具有标识符列表位置分数0x0001等。 由于 INF Models 节条目只有一个硬件 ID,因此此硬件 ID 的标识符列表位置分数始终0x0000。
下面列出了四种类型的标识符匹配类型的标识符分数,其中0x0000T000 的值是标识符匹配类型分数,0x00000HHH 的值是标识符列表位置分数:
INF Models 部分条目中的设备硬件 ID 与硬件 ID 之间的匹配是最佳标识符匹配类型。 此类型的匹配称为硬件 ID 匹配。
标识符匹配类型的分数是0x00000000,而0x0000HHH的值是设备硬件ID列表中匹配硬件ID的标识符列表位置分数。
此匹配类型的标识符分数范围从0x00000000到0x00000FFF。
对于这种类型的匹配,值0x00000000是最佳标识符分数,值0x00000FFF是最差的标识符分数。
设备硬件 ID 与 INF Models 节条目中的兼容 ID 之间的匹配是第二种最佳标识符匹配类型。 此类型的匹配称为兼容 ID 匹配。
标识符匹配类型分数为 0x00001000,值 0x00000HHH 等于设备硬件 ID 列表中匹配硬件 ID 的标识符列表位置分数。
此匹配类型的标识符分数范围从0x00001000到0x00001FFF。
对于这种类型的匹配,值0x00001000是最佳标识符分数,值0x00001FFF是最差的标识符分数。
INF Models 节条目中的设备兼容 ID 与硬件 ID 之间的匹配是标识符匹配的第三种最佳类型。 此类型的匹配也称为兼容 ID 匹配。
标识符匹配类型的分数为0x00002000,并且0x00000HHH的值等于设备兼容ID列表中匹配兼容ID的标识符列表位置分数。
此类型标识符的匹配分数范围从 0x00002000 到 0x00002FFF。
对于这种类型的匹配,值0x00002000是最佳标识符分数,而值0x00002FFF是最差的标识符分数。
INF Models 部分条目中的设备兼容 ID 和兼容 ID 之间的匹配是标识符匹配的第四种最佳类型。 此类型的匹配也称为兼容 ID 匹配。 此类型的标识符匹配的标识符分数在 0x00003000 至 0x00003FFF 的范围内,其中:
- 标识符匹配类型的分数是0x3000。
- 值 0x0HHH 等于 (j + k*0x100),其中 j 等于匹配设备兼容 ID 的标识符列表位置分数,k 等于 INF Models 部分条目中匹配兼容 ID 的标识符列表位置分数。
对于这种类型的匹配,值0x00003000是最佳标识符分数,而值0x00003FFF是最差的标识符分数。
有关驱动程序排名的详细信息,请参阅 Windows 如何对驱动程序进行排名。