Hi, The way mono marshalls data from/to native code is described here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfmarshallingtypes.asp If things don't work that way in mono, than it is a bug and we will fix it. If you pass structures to native code using 'ref', then you can use the [In, Out] attributes to specify whenever changes made in native code are visible to managed code, ie. void foo ([In] ref AStruct s). This doesn't work in 1.1.9, but it works in the SVN version, see this bug: http://bugzilla.ximian.com/show_bug.cgi?id=76502 Zoltan On 10/23/05, Shankari <[EMAIL PROTECTED]> wrote: > 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 > _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list