功能分数
驱动程序包排名的格式设置为 0xSSGGTHHH,其中 0xSS000000 的值为 签名分数,0x00GG0000 的值是特征分数, 0x0000THHH 的值是 标识符分数。
功能分数提供了基于驱动程序包支持的功能对驱动程序包进行排名的方法。 例如,可以为设备安装类定义特征分数,以根据特定于类的标准区分驱动程序包。 功能分数补充了标识符分数,使驱动程序包编写器能够更轻松地和准确地区分基于明确定义的条件的设备的不同驱动程序包。
Microsoft定义特定设备类的功能分数使用情况。 不需要功能分数,因此许多设备类不会指定功能分数使用情况。 在这种情况下,默认功能分数(0xFF)是预期的,并且将在缺少驱动程序包 INF 中定义的功能分数的情况下分配。
当Microsoft不显式要求设备类的功能分数时,驱动程序包不应在驱动程序包 INF 中定义功能分数(Windows 默认为0xFF)。
驱动程序包的功能分数由安装设备的 INF 文件的 INF DDInstall 部分中的 INF FeatureScore 指令设置。 功能分数设置如下:
[DDInstallSectionName]
. . .
FeatureScore=featurescore
其中,DDInstallSectionName 是 DDInstall 节的名称,featurescore 是0x00和0xFF之间的单字节十六进制数。 Windows 根据 FeatureScore 指令的 featurescore 值计算驱动程序包的功能分数:
feature score = (featurescore * 0x10000)
如果未在 INF 文件中指定 INF FeatureScore 指令,Windows 将为驱动程序包使用默认功能分数0x00FF0000,这表示驱动程序包的功能没有首选项。 特征分数越低,排名越好,其中最佳特征分数0x00000000。
例如,下面将驱动程序包的功能分数设置为0x00FD0000:
[DDInstallSectionName]
. . .
FeatureScore=xFD
有关驱动程序包排名的详细信息,请参阅 Windows 如何排名驱动程序。