Der Hook ist nicht aktiv bevor die Zuweisung stattgefunden hat. Da passt Windows schon auf.
Visual C++ erlaubt einfach das man in der Programmsource Anweisungen an den Linker platziert. Es wird die Variable in ein eigenes Segment verlagert, statt dem normalen DATA oder BSS. Das Segment bekommt das shared flag und wird damit in alle Kopien der
DLL eingeblendet. Das CODE-Segment funktioniert ja genauso. Die
DLL-Kopien nutzen natuerlich den Code gemeinsam.