![]() |
Wann wird DBT_DEVNODES_CHANGED gesendet?
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:
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? |
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Viellleicht hilft Dir ja das PDF-Dokument aus diesem
![]() |
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Zitat:
|
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich habe meinen Device Monitor mal den Tag über laufen lassen, ca. von 9 bis 17 Uhr, also 8 Stunden. In dieser Zeit wurde insgesamt 32 mal die DBT_DEVNODES_CHANGE message gesendet, ohne erkennbaren zusammenhang.
An den Devices wurde aber nicht wirklich etwas verändert. Anbei noch ein Screenshot... Anmerkung: eigentlich ist die Frage nicht wirklich wichtig, weil man die message nicht unbedingt braucht, um mitzubekommen, wann ein Device hinzugefügt wird. Aber mich würde es einfach interessieren... |
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Die Geraete bei Windows sind in einem Baum organisiert. Jedesmal wenn sich die Baumstruktur aendert wird DBT_DEVNODES_CHANGED gesendet. Den Baum kann man mit dem Config Manager API zugreifen. Die meisten Funktionen sind aber undokumentiert, da Microsoft will das man das darueberliegende Setup API verwendet.
Ein Knoten im Baum entspricht einem Treiber. Eine Speicherkarte in einem Reader hat gleich einen Treiberstack. Da kommen schnell mehrere Messages zusammen. |
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Zitat:
|
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Monitor Suspend?
|
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Zitat:
|
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
WLAN Verbindungsverlust? Switch reset?
|
Re: Wann wird DBT_DEVNODES_CHANGED gesendet?
Geraete und ganze Geraete-Busse koennen virtuell sein. Schau mal unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum dort sind die Busse aufgelistet. Bei mir sind dort z. B. USBPRINT und USBSTOR, die sicher virtuell sind.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz