|
In Windows, tutte le volte che si verifica una
variazione hardware di un dispositivo o del computer stesso, viene inviato in
broadcast a tutte le top level windows il messaggio WM_DEVICECHANGE.
Questo messaggio contiene informazioni sul componente interessato dalla
modifica, il tipo di modifica, etc... Non tutti i tipi di modifiche vengono
inviati; se si vuole avere informazioni dettagliate su una determinata classe di
dispositivi si può utilizzare l' api RegisterDeviceNotification. La
classe di dispositivi (usb, scheda di rete, etc...) viene identificata da un
GUID; l'elenco dei GUID di tutte le classi di dispositivi è presente nel
registro come sottochiavi della chiave
HKLM\System\CurrentControlSet\Control\DeviceClasses. In Windows XP è
possibile specificare tutte le classi di dispositivi nella
RegisterDeviceNotification (senza dover effettuare la chiamata per ogni
classe di dispositivi). Rimando all' MSDN la definizione delle API e delle
strutture coinvolte (basta andare su Google e digitare il nome dell' api o della
struttura e come primo risultato viene sempre la pagina di descrizione dell'
MSDN). Di seguito il sorgente:
Devices |