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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 unsafe
            {
                OBJECTSTRUCT* ObjTab = (OBJECTSTRUCT*)((IntPtr)((int)OffsetConf.OBJECT_BASE));
            }
J'ai une erreur de type :
Impossible de prendre l'adresse, d'obtenir la taille ou de déclarer un pointeur vers un type managé
Cette erreur viens des string contenue dans ma structure, car en c++ j'ai du genre char Name[11] que j'ai du traduire par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)]
 public string Name;
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 .

PS : Si je retire tout les strings de ma structure et de son constructeur le code fonctionne.

Je vous remercie d'avance, cordialement.