Mettre un tableau de byte dans un System.IntPtr

djoao Messages postés 17 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 8 février 2007 - 18 janv. 2007 à 13:27
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 18 janv. 2007 à 19:34
Salut à tous,

D'après ce que j'ai compris le "System.IntPtr" est un pointeur.
J'aimerais faire pointer ma variable de type System.IntPtr vers une autre variable de type byte[] .

Quelqu'un sait comment faire?

Merci

<!-- / message -->

3 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
18 janv. 2007 à 15:10
Bonjour,




System.Runtime.InteropServices.GCHandle gch = System.Runtime.InteropServices.GCHandle.Alloc(TonTableauDeByte,


System.Runtime.InteropServices.GCHandleType.Pinned)

IntPtr pTableauDeByte = gch.


.AddrOfPinnedObject()   //Pointeur vers ton tableau de byte.

puis quand tu as finis, n'oublis pas de libérer avec gch.Free()

++
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
18 janv. 2007 à 18:17
Salut.. Willi tu viens du VB, non ?

byte[ ] buffer = new byte[ 255 ];


fixed ( byte* p = buffer ) // context unsafe.
{
    IntPtr ptr = ( IntPtr )p;
}
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
18 janv. 2007 à 19:34
Salut Lutinore,
Oui effectivement je viens de vb.
0
Rejoignez-nous