Enumerare i dispositivi installati
Non è consigliabile enumerare i dispositivi usando direttamente le chiavi del Registro di sistema. Le chiavi del Registro di sistema non contengono le informazioni necessarie per enumerare i dispositivi installati nel sistema. Queste informazioni, ad esempio se il dispositivo è effettivamente presente o è un dispositivo fantasma (uno che non è collegato), viene mantenuto dal gestore Plug and Play (PnP). Il gestore PnP esegue anche un filtro aggiuntivo delle informazioni del Registro di sistema.
Per enumerare i dispositivi installati in modo sicuro, seguire questa procedura.
Uso delle funzioni di Configuration Manager :
Usare CM_Get_Device_ID_List per recuperare un elenco di stringhe id (ID) univoche dell'identificatore di istanza del dispositivo . Per recuperare informazioni solo per i dispositivi presenti nel sistema, impostare CM_GETIDLIST_FILTER_PRESENT nel parametro ulFlags .
È possibile usare l'ID istanza univoca del dispositivo con CM_Locate_DevNode per recuperare un DEVINST che rappresenta il dispositivo da usare con altre API di Configuration Manager.
Uso delle funzioni SetupAPI :
Usare SetupDiGetClassDevs per recuperare informazioni per un set di dispositivi. Per recuperare informazioni solo per i dispositivi presenti nel sistema, impostare DIGCF_PRESENT nel parametro Flags .
Usare SetupDiEnumDeviceInfo per enumerare i dispositivi nel set.
È possibile usare la SP_DEVINFO_DATA restituita da SetupDiEnumDeviceInfo con altre API SetupApi o usare SetupDiGetDeviceInstanceId per recuperare un identificatore univoco di istanza del dispositivo (ID) per il dispositivo.