Driver Package Rank Example

Consider a device that has the following lists of device identification strings, where the HwID_N and CID_N names are placeholders for actual hardware IDs and compatible IDs:

  • List of hardware IDs

     HwID_1, HwID_2
    
  • List of compatible IDs

    CID_1, CID_2
    

The first hardware ID in a list of hardware IDs is the most specific identifier for the device. In this example, that is HwID_1.

Also assume there is an driver package INF file that has an INF Models section that has the following entry, where the INF_XXX_N names are placeholders for actual hardware IDs and compatible IDs:

DeviceDesc1 = InstallSection1, INF_HwID_1, INF_CID_1, INF_CID_2

In addition, assume that the INF DDInstall section named InstallSection1 has the following FeatureScore directive, where the corresponding feature score of the driver is 0x00GG0000:

FeatureScore=0xGG

The following table lists the rank of each possible match between the identifiers that are reported by the device and the identifiers that are listed in the INF Models section entry. The rank is the sum of the signature score, which is represented by 0xSS000000, the feature score, which is represented by 0x00GG0000, and the identifier score, which depends, in each case, on the two identifiers that matched.

Device identifiers Identifiers in the INF Models section entry

INF_HwID_1

INF_CID_1

INF_CID_2

HwID_1

0xSSGG0000

0xSSGG1000

0xSSGG1000

HwID_2

0xSSGG0001

0xSSGG1001

0xSSGG1001

CID_1

0xSSGG2000

0xSSGG3000

0xSSGG3100

CID_2

0xSSGG2001

0xSSGG3001

0xSSGG3101