機能のスコア
ドライバー パッケージ ランクは 0xSSGGTHHH として書式設定され、0xSS000000 の値は signature スコア、0x00GG0000 の値は機能スコア、0x0000THHH の値は 識別子スコアです。
機能スコアは、ドライバー パッケージをドライバー パッケージがサポートする機能に基づいてランク付けする方法を提供します。 たとえば、機能スコアは、クラス固有の条件に基づいてドライバー パッケージを区別するデバイス セットアップ クラスで定義される可能性があります。 機能スコアは識別子スコアを補完し、ドライバー パッケージ作成者は、明確に定義された条件に基づいて、デバイスのさまざまなドライバー パッケージを、より簡単かつ正確に区別できます。
Microsoft では、特定のデバイス クラスでの、機能スコアの使用状況を定義しています。 機能スコアは必須ではないため、多くのデバイス クラスでは、機能スコアの使用法が指定されていません。 この場合、既定の機能スコア (0xFF) が想定されており、ドライバー パッケージの INF で機能スコアが定義されていない場合に割り当てられます。
デバイス クラスの機能スコアを、Microsoft が明示的に要求していない場合、ドライバー パッケージは、ドライバー パッケージ INF で機能スコアを定義することはできません(Windows の既定値は 0xFF です)。
ドライバー パッケージの機能スコアは、デバイスをインストールする INF ファイルの INF DDInstall セクションの INF FeatureScore ディレクティブによって設定されます。 機能スコアは、次のように設定されます。
[DDInstallSectionName]
. . .
FeatureScore=featurescore
ここで、DDInstallSectionName は DDInstall セクションの名前であり、featurescore は、0x00 と 0xFF の間の 1 バイトの 16 進数です。 Windows は、FeatureScore ディレクティブの featurescore 値に基づいて、ドライバー パッケージの機能スコアを計算します。
feature score = (featurescore * 0x10000)
INF FeatureScore Directive が INF ファイルで指定されていない場合、Windows は、ドライバー パッケージに既定の機能スコア 0x00FF0000 を使用して、ドライバー パッケージの機能に基づく優先順位がないことを示します。 特徴スコアが低いほどランクが高くなり、最高の特徴スコアが 0x00000000 されます。
たとえば、次の例では、ドライバー パッケージの機能スコアが、0x00FD0000 に設定されます。
[DDInstallSectionName]
. . .
FeatureScore=xFD
ドライバー パッケージのランキング方法の詳細については、「Windows のドライバーのランキング方法」をご覧ください。