Moin moin,
wenn man die WM_DEVICECHANGE messages abfängt bekommt man ziemlich oft auch die DBT_DEVNODES_CHANGED message. Steckt man beispielsweise eine Speicherkarte in den Reader, wird (zumindest bei meinem Lappi) erstmal 4x DBT_DEVNODES_CHANGED gesendet, anschließend DBT_DEVICEARRIVAL und dann noch ein mal DBT_DEVNODES_CHANGED, also insgesamt 6 messages für ein und dasselbe Device.
Nungut,
MSDN spricht sich dazu so aus:
Zitat:
The system broadcasts the DBT_DEVNODES_CHANGED device event when a device has been added to or removed from the system. Applications that maintain lists of devices in the system should refresh their lists.
Na gut - aber warum bekomme ich dann 5x DBT_DEVNODES_CHANGED, es wird ja nur einmal ein Device "geaddet".
Des Weiteren habe ich meinen Device-Monitor einfach mal ein Weilchen laufen lassen, und ich bekomme immer wieder die message DBT_DEVNODES_CHANGED ohne dass irgendein Laufwerk/Datenträger/sonstige Hardware hinzugefügt oder entfernt worden wäre.
Die Spannende Frage ist also: Was genau verbirgt sich hinter DBT_DEVNODES_CHANGED?