Salut!
Suite à une discussion que j'avais eu avec certains au sujet de l'interaction entre deux progs C++ et C#, j'ai développé une petite solution qui semblait marchait, sauf pour une chose:
Je cherche a récupérer des valeurs depuis ma mémoire pour les mettre dans des struct C#. Je passe par du code non managé.
Donc ce code copie bien des choses depuis la mémoire, mais des choses illisibles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 unsafe { TDefines.cs_mktFile_pub.Data_Basket dataBasket; TDefines.cs_mktFile_pub.CopyMemory(&dataBasket, Footer, 256+16); Console.WriteLine(new String(dataBasket.Author)); Console.WriteLine(dataBasket.SubjectGuid.ToString()); } //Fction CopyMemory, dans un autre fichier [DllImport("kernel32.dll", EntryPoint = "CopyMemory", SetLastError = true, CharSet = CharSet.Auto)] public static extern void CopyMemory(void* dst, byte[] src, int len);
Ainsi, l'auteur devrait être 'toto' par exemple, et il me copie la chaine '???m' par exemple.
de meme, le Guid qu'il me copie est uniquement constitué de 0.
Est ce un problème d'encodage ? Il y a t il une aberration dans mon code que je ne vois pas?
Merci pour votre aide![]()
Partager