The feature score provides a way to rank drivers based on the features that a driver supports. For example, feature scores might be defined for a device setup class that distinguishes between drivers based on class-specific criteria. The feature score supplements the identifier score, making it possible for driver writers to more easily and precisely distinguish between different drivers for a device that is based on well-defined criteria.
Although a class installer can be programmed to change the rank of a driver based on class-specific criteria, this approach should not be used. If an installer dynamically changes a driver rank, the installer overrides the system-supplied ranking mechanism that is based on the information about a driver in the driver INF files. If an installer dynamically overrides the system-supplied ranking mechanism, Windows and Windows Update cannot reliably determine which driver in a list of matching drivers is the preferred one. However, because a feature score is set in a driver INF file, and assuming that an installer does not dynamically override the default ranking mechanism, Windows and Windows Update can use the feature score, in addition to the other ranking scores, to determine which driver in a list of matching drivers is the preferred driver.
[DDInstallSectionName] . . . FeatureScore=featurescore
where DDInstallSectionName is the name of the DDInstall section and featurescore is a single-byte hexadecimal number between 0x00 and 0xFF. Windows computes the feature score for a driver based on the featurescore value of the FeatureScore directive:
feature score = (featurescore * 0x10000)
If the INF FeatureScore Directive is not specified in the INF file, Windows uses a default feature score is 0x00FF0000 for the driver, which indicates that there is no preference based on the features of the driver. The lower the feature score, the better the rank, where the best feature score is 0x00000000.
For example, the following sets the feature score of a driver to 0x00200000:
[DDInstallSectionName] . . . FeatureScore=x20
For more information about driver ranking, see How Windows Ranks Drivers.