CheckWMDeviceChange kann nie nil zurückgeben. Ich lasse CheckWMDeviceChange jetzt einen TDeviceChange zurückgeben und gebe einen Pointer auf diese Struktur dann an die Threadfunktion. Das klappt!
Hast du eine Idee, wie ich ich es hinbekomme, dass das globale DeviceInfo erst überschrieben wird, wenn der Thread der die Infos bekommen hat, diese in seine lokalen Variablen kopiert hat und diese somit nicht mehr vernudelt werden ?