GetProcAddress et std::string
Bonjour,
J'ai un souci avec un appel de dll dynamique, et, je pense, un paramètre en std::string.
Voici mon code d'appel :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
typedef std::string (WINAPI * DLL_MyFunction) (std::string xmlFlux);
DLL_Function_Send pFuncSend;
pFuncSend = (DLL_Function_Send) GetProcAddress( _hDll, "SendEvenement" );
if (pFuncSend == NULL)
{
return;
}
pFuncSend(MonContenu);
} |
Je rentre bien dans la fonction sans souci MAIS, pour un appel:
Code:
1 2 3 4 5 6 7
|
std::string WINAPI SendEvenement(std::string xmlFlux)
{
std::cout << "SendEvenement" << std::endl;
...
} |
Si je passe en entrée :
Citation:
xmlFlux = "mon contenu xml"
(avec xmlFlux._MySize = 545 xmlFlux._MyRes = 559)
J'obtiens :
Citation:
xmlFlux = "Send evenement" -> c'est le nom de la fonction !!!
(avec xmlFlux._MySize = 559 xmlFlux._MyRes = 1154654 ??) _Mysize et devenu _MyRes
A priori J'ai un décalage de mon pointeur... pourquoi ??? :koi:
C'est la question...
Merci pour votre aide.