Voilà je viens exposé mon problème, je vais être le plus clair possible.
J'ai injecté une dll managé dans du code natif.
J'ai traduit la structure c++ en C#.
J'utilise un pointeur que j'initialise ainsi
J'ai une erreur de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 unsafe { OBJECTSTRUCT* ObjTab = (OBJECTSTRUCT*)((IntPtr)((int)OffsetConf.OBJECT_BASE)); }Cette erreur viens des string contenue dans ma structure, car en c++ j'ai du genre char Name[11] que j'ai du traduire parImpossible de prendre l'adresse, d'obtenir la taille ou de déclarer un pointeur vers un type managé
Autre problème, je suis obligé d'utilisé un constructeur pour ma structure et donc de mettre le "string Name" en paramètre ce qui reviens toujours a la même erreur, je cherche une alternative mais je n'y parviens pas .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)] public string Name;
PS : Si je retire tout les strings de ma structure et de son constructeur le code fonctionne.
Je vous remercie d'avance, cordialement.
Partager