Wie kommst du darauf das es lokal ist ?
Mit #pragma data_seg ("shared") hats du gesagt das für alle nachfolgenden und global deklarierten Variablen ein shared Datensegement angelegt wird.
Danach deklarierst du
HINSTANCE hDllInstance;
HHOOK hMouseHook =0;
int x, y=0;
char message[10];
und das sind alles globale Variablen in deiner
DLL. Durch das vorherige #Pragma sind es sogar globale Variablen Prozess übergreifend.
Gruß Hagen