Je vais avoir des problèmes avec ce code:Quelqu'un peut-il expliquer la Marshal.StructureToPtr
//Creating a new ImageElement Struct
ImageElement oElement = new UM0516.ImageElement();
//Create a pointer and allocate enough room for the struct type
IntPtr pElement = Marshal.AllocHGlobal(Marshal.SizeOf(new UM0516.ImageElement()));
//Copy the contents of the struct into the allocated memory space
Marshal.StructureToPtr(oElement, pElement, true);
//Function that takes a file pointed to by handle, and does some sweet sweet things
//And returns a loaded struct pointed to by pElement
FILES_GetImageElement(handle, el, out pElement);
Voici où je confonds: Je vais parcourir le code, et après que j'appelle cette dernière fonction (ce qui devrait changer quelques bits dans la mémoire pointée par pElement), je vois un changement à oElement !? Je pensais que le Marshal.StructureToPtr "copie" les données d'une structure gérée en mémoire. Alors, les deux emplacements sont-ils réellement les mêmes? Struct structuré et mémoire allouée pointée par pElement?
-1 pour écrire "Aides YO" et "Coo Dawg" dans le même article. –