Come posso interrompere la manipolazione dei nomi della funzione esportata della mia DLL?

Sto cercando di creare una DLL che esporta una funzione chiamata “GetName”. Mi piacerebbe che l’altro codice sia in grado di chiamare questa funzione senza dover conoscere il nome della funzione storpiata.

Il mio file di intestazione assomiglia a questo:

#ifdef __cplusplus #define EXPORT extern "C" __declspec (dllexport) #else #define EXPORT __declspec (dllexport) #endif EXPORT TCHAR * CALLBACK GetName(); 

Il mio codice assomiglia a questo:

 #include  #include "PluginOne.h" int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved) { return TRUE ; } EXPORT TCHAR * CALLBACK GetName() { return TEXT("Test Name"); } 

Quando compilo, la DLL esporta ancora la funzione con il nome: “_GetName @ 0”.

Che cosa sto facendo di sbagliato?