Barrie, >how can I get changes to the rects back into the memory of the messages, are >the rects marshalled back as references or copies ?
If you decided to go with PtrToStructure, then the way to copy the data back (because no, it's not done automaticly, you're changing a local copy) is to use the StructureToPtr method of the Marshal class. Marshal.StructureToPtr( r[ i ], prc, false ); Mattias === Mattias Sjögren [EMAIL PROTECTED] You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.