[Mono-dev] Embedding Mono and HandleRef...

Thomas Wiest twiest at novell.com
Sat Dec 30 20:32:34 EST 2006

	I'm using the Mono embedding API and I'm using HandleRef's instead of 
IntPtr's (as per the instructions on the interop page).


However, the HandleRef's seem to only be marshaled to IntPtr's if you're 
using p/invoke's. I've attached a tar ball with two examples of what I'm 
trying to do. Both examples can be compiled and run using "make run". 
The Dll_Import example works flawlessly, marshaling the HandleRef into 
an IntPtr. The mono_embed fails miserably because the HandleRef is still 
a MonoObject (notice the memory address' don't line up as they do in the 
Dll_Import example).

 From Robert Jordan's earlier e-mail it seems that the HandleRef is 
intentionally not marshaled. So my question is, how do I get the 
advantages of HandleRef's when using the embedding API? And if I just 
switch back to IntPtr's, will my C# objects get collected before my 
native code is done executing?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: HandleRef-examples.tgz
Type: application/x-compressed-tar
Size: 1857 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20061230/99f09d63/attachment.bin 

More information about the Mono-devel-list mailing list