Partager la variable du programme principal à la DLL en C

Je suis nouveau dans la programmation DLL et je suis en train de développer un programme avec des DLL qui utilisent une seule variable globale définie dans l’application principale (.exe).

En bref, je ne comprends pas comment importer la variable globale dans différentes DLL et leur permettre de la modifier.

J’essaie d’utiliser ce code pour déclarer la ressource dans le .h de la DLL

extern "C" __declspec(dllexport) varType varName; 

mais cela ne semble pas fonctionner, en fait, différentes DLL utilisent des structures différentes.

Également en utilisant

 extern "C" __declspec(dllimport) varType varName; 

le programme ne fonctionne pas correctement.

Quelle est la manière correcte de permettre le partage de la ressource entre le processus principal et les DLL?

Je sais que partager des ressources du processus principal à la DLL n’est pas correct mais je suis obligé de le faire de cette façon. De plus, je ne peux pas utiliser les fonctions qui reçoivent le pointeur sur la structure que je veux modifier.