ID compatibile
Un ID compatibile è una stringa di identificazione definita dal fornitore usata da Windows per associare un dispositivo a un pacchetto driver. Un ID compatibile identifica il livello di specificità di un dispositivo e indica che qualsiasi pacchetto driver che lo dichiara può funzionare con un dispositivo con tale ID può funzionare con questo dispositivo per un certo livello di funzionalità. Gli ID compatibili hanno lo stesso formato degli ID hardware , ma tendono a essere una descrizione più generica di un dispositivo rispetto a un ID hardware. A un dispositivo può essere associato un elenco di ID compatibili. Gli ID compatibili devono essere elencati in ordine di idoneità decrescente. Se Windows non riesce a individuare un pacchetto driver corrispondente a uno degli ID hardware di un dispositivo, usa ID compatibili per individuare un pacchetto driver. Ad esempio, l'elenco di ID compatibili concettuali per un dispositivo potrebbe essere simile al seguente:
<Product X made by company Y>
<Device of type W made by company Y>
<Device of type W>
Se gli ID compatibili effettivi rappresentano questi concetti usando stringhe che seguono i requisiti di formato di un ID compatibile.
Per trovare GLI ID compatibili per un determinato dispositivo, selezionare il dispositivo in Gestione dispositivi, scegliere Proprietà, quindi la scheda Dettagli, quindi usare l'elenco a discesa Proprietà.
Se un fornitore invia un pacchetto driver che specifica un ID compatibile per un nodo driver, il fornitore deve assicurarsi che il pacchetto driver possa supportare tutto l'hardware che espone tale ID compatibile.
L'elenco di ID compatibili può essere ottenuto a livello di codice recuperando la proprietà DEVPKEY_Device_CompatibleIds in un dispositivo. Ad esempio, tale proprietà può essere recuperata con API come IoGetDevicePropertyData, SetupDiGetDeviceProperty o CM_Get_DevNode_Property.
L'elenco di ID compatibili recuperati da questa routine è un valore REG_MULTI_SZ . Il numero massimo di caratteri in un elenco ID compatibile, incluso un carattere di terminazione NULL dopo ogni ID compatibile e un terminatore NULL finale, è REGSTR_VAL_MAX_HCID_LEN
. Il numero massimo possibile di ID in un elenco di ID compatibili è 64.