Struct C++ => C# char[] constructeur et pointeur
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:
1 2 3 4 5
|
unsafe
{
OBJECTSTRUCT* ObjTab = (OBJECTSTRUCT*)((IntPtr)((int)OffsetConf.OBJECT_BASE));
} |
J'ai une erreur de type :
Citation:
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:
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 :x.
PS : Si je retire tout les strings de ma structure et de son constructeur le code fonctionne.
Je vous remercie d'avance, cordialement.