Envoyé par
GuruuMeditation
Tu dois utiliser le pointeur c# :IntPtr
Non.
Ou, du moins, ce serait introduire une complication totalement inutile alors que l'Interop fournit assez de sources de problèmes comme cela sans avoir à en rajouter soi même
Il déclare dans sa structure C# une string ou un byte array, et met sur l'élément de la structure l'attribut
MarshalAs(UnmanagedType.LPStr)
ou
MarshalAs(UnmanagedType.LPArray)
suivant le choix qu'il a fait.
Dans le cas de LPArray il faut spécifier la longueur :
[MarshalAs(UnmanagedType.LPArray, SizeConst=XXXX)]
dans le cas de LPStr, on considére la terminaison null : ici un cas ou l'autre suivant les spécifications du contenu de son tableau de byte.
Partager