标识符分数

驱动程序包排名的格式设置为 0xSSGGTHHH,其中 0xSS000000 的值是 签名分数,0x00GG0000 的值是 功能分数,0x0000THHH 的值是标识符分数。

标识符分数根据由设备的总线驱动程序报告的 即插即用 (PnP) 设备标识字符串与驱动程序包 INF 文件的 INF 模型部分条目中指定的相应设备标识字符串之间的匹配类型对驱动程序包进行排名。

标识符分数是标识符匹配类型分数和 identifier-list-position 分数的总和。 标识符匹配类型分数根据设备 硬件 ID 或设备 兼容 ID 与 INF 模型 部分条目中的硬件 ID 或兼容 ID 匹配,对驱动程序包进行排名。 设备硬件 ID 与 INF 模型部分条目中的硬件 ID 之间的匹配称为硬件 ID 匹配。 至少一个匹配标识符为兼容 ID 的匹配称为兼容 ID 匹配。

对于给定的标识符匹配类型,identifier-list-position 分数根据匹配标识符在硬件 ID 列表中的位置或设备的兼容 ID 列表以及匹配标识符在 INF 模型 部分的条目中的位置对驱动程序包进行排名。 具体而言,每个设备都有一个有序的硬件 ID 列表和一个由设备的总线驱动程序报告的兼容 ID 的有序列表。 标识符在列表中按最具体到最通用的功能进行排序。 此外,每个 INF 模型 部分条目都有一个硬件 ID 和一个可选的兼容 ID 列表,这些 ID 按最特定于最通用功能的顺序列出,如下所示:

device-description=install-section-name,[hw-id][,compatible-id,...] ...

设备标识符列表中的第一个标识符的 identifier-list-position 分数为 0x0000,第二个标识符的 identifier-list-position 分数为 0x0001,依此。 由于 INF 模型 部分条目只有一个硬件 ID,因此始终0x0000此硬件 ID 的标识符列表位置分数。

下面列出了四种类型的标识符匹配类型的标识符分数,其中 0x0000T000 的值是 identifier-match-type 分数,0x00000HHH 的值是 identifier-list-position 分数:

  • 设备硬件 ID 与 INF 模型 部分条目中的硬件 ID 之间的匹配是最佳标识符匹配类型。 此类型的匹配称为 硬件 ID 匹配

    标识符匹配类型分数0x00000000,0x0000HHH 的值是设备硬件 ID 列表中匹配硬件 ID 的标识符列表位置分数。

    此匹配类型的标识符分数范围从 0x00000000 到 0x00000FFF。

    对于这种类型的匹配项,0x00000000值为最佳标识符分数,0x00000FFF值为最差标识符分数。

  • 设备硬件 ID 与 INF 模型 部分条目中的兼容 ID 之间的匹配是第二种最佳标识符匹配类型。 此类型的匹配称为 兼容的 ID 匹配项。

    标识符匹配类型分数0x00001000,0x00000HHH 的值等于设备硬件 ID 列表中匹配硬件 ID 的 identifier-list-position 分数。

    此匹配类型的标识符分数范围从 0x00001000 到 0x00001FFF。

    对于这种类型的匹配项,0x00001000值为最佳标识符分数,0x00001FFF值为最差标识符分数。

  • 设备兼容 ID 与 INF 模型 部分条目中的硬件 ID 之间的匹配是标识符匹配的第三种最佳类型。 此类型的匹配也称为 兼容的 ID 匹配

    标识符匹配类型分数0x00002000,0x00000HHH 的值等于设备兼容 ID 列表中匹配的兼容 ID 的标识符列表位置分数。

    此类标识符的标识符分数匹配范围从0x00002000到0x00002FFF。

    对于这种类型的匹配项,0x00002000值是最佳标识符分数,0x00002FFF值是最差标识符分数。

  • 设备兼容 ID 与 INF 模型 部分条目中的兼容 ID 之间的匹配是标识符匹配的第四个最佳类型。 此类型的匹配也称为 兼容的 ID 匹配。 此类标识符匹配的标识符分数在0x00003000到0x00003FFF的范围内,其中:

    • 标识符匹配类型分数0x3000。
    • 0x0HHH 的值等于 (j + *0x100) ,其中 j 等于匹配设备兼容 ID 的 identifier-list-position 分数, k 等于 INF 模型 部分条目中匹配兼容 ID 的 identifier-list-position 分数。

    对于这种类型的匹配项,0x00003000值为最佳标识符分数,0x00003FFF值为最差标识符分数。

有关驱动程序排名的详细信息,请参阅 Windows 如何排名驱动程序