Hello, I am trying to isolate the updates by unmanaged code if the arguments are passed by reference in Pinvoke.
I looked up marshal.c and at mono_marshal_emit_native_wrapper , the by-ref argumments are being marshalled back to managed memory. I am trying to do this by the foll : After the C code has made the updates : when the results are being marshalled back to the managed object, I can copy this to a diff location and return this address and thus prevent the original argument from being updated. I could do this at call time , by copying the managed structure to another location and passing this addr...and this can get updated..but in this case I have to change the final byref argument to point to this new address. Everything leads to mono_mb_emit_byte( where some copy actually seems to be happening..) but it emits IL code and it *seems* to be pushing similar stuff if I pass by value or by reference. Any pointers on how to achieve my objective ?? Thanks, __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list