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.
Microsoft defines feature score usage for particular device classes. Feature score is not required, so many device classes will not have feature score usage specified. In this case, the default feature score (0xFF) is expected, and will be assigned in the absence of a feature score defined in the INF of a driver.
When Microsoft does not explicitly require feature score for a device class, the driver should:
Not define a feature score in the driver INF (Windows will default to 0xFF)
Explicitly define a feature score of 0xFF in the driver INF
[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 0x00FD0000:
[DDInstallSectionName] . . . FeatureScore=xFD
For more information about driver ranking, see How Windows Ranks Drivers.