[Mono-dev] Re: Mono-devel-list Digest, Vol 11, Issue 85

Jonathan S. Chambers Jonathan.Chambers at ansys.com
Fri Mar 31 13:15:07 EST 2006

The COM Interop will eventually work in the Unmanaged->Managed direction. I'm doing the Managed->Unmanaged first since it seems more useful (and was easier for me to implement).


- Jonathan


From: Jason S [mailto:jaytau at yahoo.com] 
Sent: Friday, March 31, 2006 1:11 PM
To: Jonathan S. Chambers; Jonathan Pryor
Cc: mono-devel-list at lists.ximian.com
Subject: RE: [Mono-dev] Re: Mono-devel-list Digest, Vol 11, Issue 85


I read the COM Interop message that was attached, and it looks to pertain to Managed -> Unmanaged interop.


Does the COM Interop also help the other way, calling Managed code from Unmanaged?


For me, I was planning on using the PInvoke method of Managed -> Unmanaged interop.


However for Unmanged -> Managed, I have a bit of a problem.   My project is a game engine, which is an unmanaged (C++) exe.   Because of this, it is very hard for me to  shim in a way of passing the gameEngine.exe a function pointer to managed code.  To do this seems that I require an additional mono-based shim.exe and have gameEngine.dll instead of .exe   


So without re-architecting the gameEngine to be loaded as a .dll  (a game engine I didnt write so doing such a change is not trivial), I would like to be able to instantiate a managed assembly, and invoke classes/methods directly at the locations I need, which would, for this purpose, solve the same problem that C++/CLI currently solves for me.


>From what I understand about the mono runtime, this behavior i just described is available, if I integrate the runtime into the engine, however if there was a native API that let me do the Native-to-Managed interop I'm describing it would be of great use.


Maybe such a native-mono-api already exists, if so then a pointer to some of the docs on how to use it would be very appreciated.


Thank you for your patience, and spending the time to read this verbose mail!




"Jonathan S. Chambers" <Jonathan.Chambers at ansys.com> wrote:

	Yes, I was working on COM Interop a little while ago. My schedule got
	busy for a little bit, but now I hope to finish the work. This will
	initially apply only to MS COM on Windows. However, as COM and XPCOM are
	very similar I think XPCOM Interop could be done with a little bit of
	additional work. 
	Look for updates in the coming weeks. 
	-----Original Message-----
	From: mono-devel-list-bounces at lists.ximian.com
	[mailto:mono-devel-list-bounces at lists.ximian.com] On Behalf Of Jonathan
	Sent: Friday, March 31, 2006 6:56 AM
	To: Jason S
	Cc: mono-devel-list at lists.ximian.com
	Subject: Re: [Mono-dev] Re: Mono-devel-list Digest, Vol 11, Issue 85
	On Thu, 2006-03-30 at 22:55 -0800, Jason S wrote:
	> What I would like to see, is a nice way of interoping from a native C
	> ++ program into Mono.
	As you mention, Microsoft's solution is C++/CLI. There isn't likely to
	be C++/CLI support for Mono any time soon.
	However, Microsoft has another solution for C++/managed code
	integration: COM Interop - the C++ code uses managed code as if they
	were COM objects.
	Furthermore, Jonathan Chambers has been working on COM Interop support
	for Mono, with the idea of expanding it for Mozilla XPCOM integration
	and other object systems.
	You might be able to (1) help him, and (2) make use of this
	infrastructure to permit better C++ integration.
	See also:
	- Jon
	Mono-devel-list mailing list
	Mono-devel-list at lists.ximian.com



Yahoo! Messenger with Voice. Make PC-to-Phone Calls <http://us.rd.yahoo.com/mail_us/taglines/postman1/*http:/us.rd.yahoo.com/evt=39663/*http:/voice.yahoo.com>  to the US (and 30+ countries) for 2¢/min or less.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060331/a2c8a00f/attachment.html 

More information about the Mono-devel-list mailing list