En fait dans la bibliothèque en C, il y a une méthode qui prend en paramètre un pointeur vers un paramètre de type long.
ushort method(ulong* ptr)
Donc dans mon code C# après avoir importé la DLL, je voulais appeler la méthode ainsi :
1 2 3
| uint entier = 0;
ulong param = 0;
entier = method(ref param) |
Justement pour envoyer l'adresse de param à ma méthode, et non pas sa valeur. Seulement ça ne compile pas.
En fait j'ai un peu avancé depuis hier, maintenant j'envoie directement un pointeur à la méthode, de cette manière :
1 2 3 4
| uint entier = 0;
ulong* param;
*param = 0;
entier = method(param); |
En utilisant du code unsafe.
Ma question : peut-on faire autrement pour conserver du code managé ?
Je n'ai rien trouvé malgré beaucoup de recherches, donc j'imagine que non.
Merci pour ton aide!
Partager