Kompatible ID
Eine kompatible ID ist eine vom Anbieter definierte Identifikationszeichenfolge, die Windows verwendet, um ein Gerät einem Treiberpaket zuzuordnen. Eine kompatible ID gibt an, was ein Gerät ist, bis zu einem gewissen Grad an Spezifität und gibt an, dass jedes Treiberpaket, das es deklariert, mit einem Gerät funktionieren kann, das über diese ID verfügt, für einen gewissen Grad an Funktionalität mit diesem Gerät funktionieren kann. Kompatible IDs haben das gleiche Format wie Hardware-IDs , sind aber in der Regel eine allgemeinere Beschreibung eines Geräts als eine Hardware-ID. Ein Gerät kann eine Liste kompatibler IDs zugeordnet haben. Die kompatiblen IDs sollten in der Reihenfolge der abnehmenden Eignung aufgeführt werden. Wenn Windows kein Treiberpaket finden kann, das mit einer der Hardware-IDs eines Geräts übereinstimmt, werden kompatible IDs verwendet, um ein Treiberpaket zu suchen. Die Liste der konzeptkompatiblen IDs für ein Gerät könnte beispielsweise wie folgt aussehen:
<Product X made by company Y>
<Device of type W made by company Y>
<Device of type W>
Dabei würden die tatsächlich kompatiblen IDs diese Konzepte mithilfe von Zeichenfolgen darstellen, die den Formatanforderungen einer kompatiblen ID entsprechen.
Um kompatible IDs für ein bestimmtes Gerät zu finden, wählen Sie das Gerät in Geräte-Manager aus, wählen Sie Eigenschaften und dann die Registerkarte Details aus, und verwenden Sie dann die Dropdownliste Eigenschaften.
Wenn ein Anbieter ein Treiberpaket ausgibt, das eine kompatible ID für einen Treiberknoten angibt, sollte der Anbieter sicherstellen, dass sein Treiberpaket alle Hardware unterstützen kann, die diese kompatible ID verfügbar macht.
Die Liste der kompatiblen IDs kann programmgesteuert abgerufen werden, indem die eigenschaft DEVPKEY_Device_CompatibleIds auf einem Gerät abgerufen wird. Diese Eigenschaft kann beispielsweise mit APIs wie IoGetDevicePropertyData, SetupDiGetDeviceProperty oder CM_Get_DevNode_Property abgerufen werden.
Die Liste der kompatiblen IDs, die diese Routine abruft, ist ein REG_MULTI_SZ Wert. Die maximale Anzahl von Zeichen in einer liste kompatibler ID, einschließlich eines NULL-Abschlusszeichens nach jeder kompatiblen ID und eines endgültigen NULL-Abschlusszeichens, ist REGSTR_VAL_MAX_HCID_LEN
. Die maximal mögliche Anzahl von IDs in einer Liste kompatibler IDs beträgt 64.