Einige Informationen finden Sie in diesem alten Microsoft-Artikel (XP-Zeit).
Wie Windows den geeignetsten Gerätetreiber ermittelt, der während des Setups installiert werden soll :
Wenn Sie Windows Setup ausführen, verfügen Sie möglicherweise über mehr als einen Satz von Gerätetreibern oder INF-Dateien, die mit einem bestimmten Gerät funktionieren. Sowohl Setup als auch Plug & Play versuchen, diese Konflikte zu lösen, indem sie den Gerätetreiber auswählen, der für das zu installierende Gerät am besten geeignet ist.
Plug & Play kann alle INF-Dateien nach dem am besten geeigneten Gerätetreiber für ein bestimmtes Gerät durchsuchen. Plug & Play stoppt die Suche nicht beim ersten Treffer, den Plug & Play findet. Plug & Play durchsucht weiterhin alle INF-Dateien, die im Suchpfad von Plug & Play aufgeführt sind, wie im folgenden Registrierungseintrag definiert:
HKEY-LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
DevicePath: Reg_Expand_SZ:% Systemroot% \ Inf
Das Setup erstellt eine Liste kompatibler Gerätetreiber, die eine Entsprechung in einer INF-Datei enthielten, und weist jedem gefundenen einen "Rang" zu. Der Rang kann von "0" bis "0xFFFF" reichen, wobei 0 die am besten geeignete Übereinstimmung ist und 0xFFFF die schlechteste mögliche Übereinstimmung. Der Gerätetreiber mit dem niedrigsten Rang wird als das am besten geeignete Spiel betrachtet und ist der installierte Gerätetreiber.
Wenn jedoch zwei Gerätetreiber denselben niedrigsten Rang aufweisen, verwendet Setup den Gerätetreiber mit dem neuesten Datum. Wenn einer der Gerätetreiber signiert ist und der andere Gerätetreiber unsigniert ist, wird dem Datum des vorzeichenlosen Gerätetreibers der Wert 0xFFFFFFFF zugewiesen, und der signierte Gerätetreiber wird ausgewählt und installiert.
Es ist zu beachten, dass eine 64-Bit-Windows-Version standardmäßig keine nicht signierten Treiber als Kandidaten akzeptiert. Dies ist nur in 32-Bit-Windows möglich.
Der folgende Artikel enthält den neuesten Algorithmus: Wie Windows die Treiber bewertet
Windows ordnet einem Treiber einen Rang zu, der einem Gerät entspricht. Der Rang gibt an, wie gut der Fahrer mit dem Gerät übereinstimmt. Ein Fahrerrang wird durch eine ganze Zahl dargestellt, die gleich oder größer als Null ist. Je niedriger der Rang, desto besser passt der Fahrer zum Gerät.
Der Rang eines Treibers ist ein zusammengesetzter Wert, der davon abhängt, wie ein Fahrer signiert ist, welche Funktionen vom Treiber unterstützt werden, und von der Art der Übereinstimmung zwischen den Geräteidentifikationszeichenfolgen, die von einem Gerät gemeldet werden, und den Geräteidentifizierungszeichenfolgen angegeben in den Einträgen eines INF-Models-Abschnitts einer Treiber-INF-Datei.
Ein Rang wird durch einen Wert vom Typ DWORD dargestellt. Ein Rang ist die Summe einer Signaturbewertung, einer Merkmalsbewertung und einer Bezeichnerbewertung. Ein Rang wird als 0xSSGGTHHH formatiert, wobei S, G, T und H Vier-Bit-Felder sind und die Felder SS, GG und THHH die drei Ranglistenwerte wie folgt darstellen:
- Bei der Signaturbewertung wird der Fahrer danach bewertet, wie ein Fahrer signiert ist. Die Signaturbewertung hängt nur vom Wert des SS-Felds ab. Eine nicht spezifizierte Signaturbewertung wird als 0xSS0000000 dargestellt.
Einen Überblick darüber, wie Windows Vista und spätere Versionen von Windows die Treibersignatur zum Bestimmen der Installation des Treibers verwenden, finden Sie unter Signaturkategorien und Treiberinstallation .
Grundsätzlich werden digitale Signaturen von einer Windows-Signaturbehörde am höchsten bewertet.
- Bei der Feature-Bewertung wird ein Treiber basierend auf den vom Treiber unterstützten Features bewertet. Die Feature-Bewertung hängt nur vom Wert des GG-Felds ab. Eine nicht spezifizierte Merkmalsbewertung wird als 0x00GG0000 dargestellt.
Diese Informationen werden in der INF-Datei angegeben, sodass ein Hersteller seine eigenen Treiber bestellen kann.
- Die Bezeichnerbewertung bewertet einen Treiber basierend auf dem Typ der Übereinstimmung zwischen einer Geräteidentifizierungszeichenfolge, die von einem Gerät gemeldet wird, und einer Geräteidentifizierungszeichenfolge, die in einem Eintrag eines INF-Models-Abschnitts einer Treiber-INF-Datei aufgeführt ist. Die Bezeichnerbewertung hängt nur vom Wert des THHH-Felds ab. Ein nicht angegebener Bezeichnerwert wird als 0x0000THHH dargestellt.
Dieser Text ist ziemlich verwirrt und verwirrend. Siehe den Link für eine viel bessere Beschreibung der Bezeichnerbewertung.