Compatible ID
Un ID compatible est une chaîne d’identification définie par le fournisseur que Windows utilise pour faire correspondre un appareil à un package de pilotes. Un ID compatible identifie ce qu’est un appareil à un certain niveau de spécificité et indique que tout package de pilote qui déclare qu’il peut fonctionner avec un appareil qui a cet ID peut fonctionner avec cet appareil pour un certain degré de fonctionnalité. Les ID compatibles ont le même format que les ID matériels , mais ils ont tendance à être une description plus générique d’un appareil qu’un ID matériel. Un appareil peut lui avoir associé une liste d’ID compatibles. Les ID compatibles doivent être répertoriés dans l’ordre d’adéquation décroissant. Si Windows ne peut pas localiser un package de pilotes qui correspond à l’un des ID matériels d’un appareil, il utilise des ID compatibles pour localiser un package de pilotes. Par exemple, la liste des ID compatibles conceptuels pour un appareil peut ressembler à ce qui suit :
<Product X made by company Y>
<Device of type W made by company Y>
<Device of type W>
Où les ID compatibles réels représentent ces concepts à l’aide de chaînes qui respectent les exigences de format d’un ID compatible.
Pour rechercher des ID compatibles pour un appareil donné, sélectionnez l’appareil dans Gestionnaire de périphériques, choisissez Propriétés, puis l’onglet Détails, puis utilisez la liste déroulante Propriétés.
Si un fournisseur envoie un package de pilotes qui spécifie un ID compatible pour un nœud de pilote, il doit s’assurer que son package de pilotes peut prendre en charge tout le matériel qui expose cet ID compatible.
La liste des ID compatibles peut être obtenue par programmation en récupérant la propriété DEVPKEY_Device_CompatibleIds sur un appareil. Par exemple, cette propriété peut être récupérée avec des API telles que IoGetDevicePropertyData, SetupDiGetDeviceProperty ou CM_Get_DevNode_Property.
La liste des ID compatibles que cette routine récupère est une valeur REG_MULTI_SZ . Le nombre maximal de caractères dans une liste d’ID compatible, y compris une terminaison NULL après chaque ID compatible et une fin NULL finale, est REGSTR_VAL_MAX_HCID_LEN
. Le nombre maximal possible d’ID dans une liste d’ID compatibles est de 64.