<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 Forums - Tech Off - using a Managed DLL from an unmanaged one?</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Forums/rss"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 Forums - Tech Off - using a Managed DLL from an unmanaged one?</title>
		<link>http://channel9.msdn.com/Forums</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Forums</link>
	<language>en</language>
	<pubDate>Wed, 22 May 2013 16:32:16 GMT</pubDate>
	<lastBuildDate>Wed, 22 May 2013 16:32:16 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>7</c9:totalResults>
	<c9:pageCount>-7</c9:pageCount>
	<c9:pageSize>-1</c9:pageSize>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p>I am working on a software research project that is entirely in C#, however now we want to have a maya plugin that utilizes some of the functionality from the C# code.
<br /><br />Maya expects an unmanaged dll, which is fine i don't mind writting that.<br /><br />However, i need to make hooks to the C# code and vice versa, i have no problems accessing my unmanaged dll from C# using InteropServices,&nbsp; but i do not know how to access the managed code from the unmanaged C&#43;&#43;, any hints?
<br /><br />I am sure this is possible, but i have never done it.<br /><br />If anyone has any suggestions for a purely managed solution, i would be thankful<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/260931#260931</link>
		<pubDate>Tue, 12 Feb 2008 19:23:38 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/260931#260931</guid>
		<dc:creator>Verdant</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Verdant/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p>Have you looked into <a href="http://msdn2.microsoft.com/en-us/library/aa712867.aspx">
Managed Extensions for C&#43;&#43;</a> at all? I personally have never used it, but it seems to popular way to tie managed and unmanaged code together. The /clr option still compiles it to MSIL, but I'm not sure exactly what Maya's restrictions are.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/19d726ac5ea644228b859dfa00beeed6#19d726ac5ea644228b859dfa00beeed6</link>
		<pubDate>Tue, 12 Feb 2008 19:36:47 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/19d726ac5ea644228b859dfa00beeed6#19d726ac5ea644228b859dfa00beeed6</guid>
		<dc:creator>TimP</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/TimP/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p>found <a href="http://msdn.microsoft.com/msdnmag/issues/01/07/vsnet/">this</a> article that seems to describe the process i need to use, ugh looks like a lot of steps<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/75a08d0ad901432ab7b39dfa00beef5d#75a08d0ad901432ab7b39dfa00beef5d</link>
		<pubDate>Tue, 12 Feb 2008 19:49:55 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/75a08d0ad901432ab7b39dfa00beef5d#75a08d0ad901432ab7b39dfa00beef5d</guid>
		<dc:creator>Verdant</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Verdant/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p><blockquote>
<div class="quoteAuthor">Verdant wrote:</div>
<div class="quoteBody">&#65279;found <a href="http://msdn.microsoft.com/msdnmag/issues/01/07/vsnet/">
this</a> article that seems to describe the process i need to use, ugh looks like a lot of steps<br /></div>
</blockquote>
<br /><br />I've not read the article, but from the date of it, it's old, pre-2005. They changed the way the C&#43;&#43; managed/unmanaged stuff works with 2005. So unless your using 2003 or 2002, then I probably would take too much notice of that article.<br /><br />Having said that, I've only done trivial Managed C&#43;&#43; stuff,&nbsp; and did not have to resort to anything spectacular. Though, I did have to create proxies for most things, like data structures, etc.<br /><br />A few of those proxies were probably unnecessary, as the builtin marshalling stuff is quite extensive. But I found it harder to get up-to-speed with the marshaling stuff than it was to hand-roll my own proxies. You mileage may vary...<br /><br />After breakfast (and catching up on the new Ch9 videos), I'll see if I have some time, and do a little sleuthing (it's morning over here...)<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/e601c47949524fed87249dfa00beeff2#e601c47949524fed87249dfa00beeff2</link>
		<pubDate>Tue, 12 Feb 2008 21:58:42 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/e601c47949524fed87249dfa00beeff2#e601c47949524fed87249dfa00beeff2</guid>
		<dc:creator>RichardRudek</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/RichardRudek/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p>OK. How performant does this need to be ?&nbsp; How many threads ?<br /><br />My initial reaction to this is to use COM, mainly because you have the issue of hosting the CLR, and the Managed C&#43;&#43; code (obviously) needs the CLR - I'm presuming that Maya doesn't host the CLR.<br /><br />So rather than using Managed C&#43;&#43;, just bypass C&#43;&#43; altogether, and expose your Manged Code via COM.<br /><br />Well, you still need to write the Maya DLL, so you probably still need to write that using C&#43;&#43;. But these stubs would be interopting via COM.<br /><br />If you want to write something rapidily (prototype), then depending on the Interfaces Maya expects, you could probably whip up a Native DLL using VB6 - COM is native to VB6, whereas for C&#43;&#43;, you probably end up using ATL. Raw COM from C/C&#43;&#43; is ugly...<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/47875cfe75a14a2ab9ad9dfa00bef089#47875cfe75a14a2ab9ad9dfa00bef089</link>
		<pubDate>Wed, 13 Feb 2008 00:12:21 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/47875cfe75a14a2ab9ad9dfa00bef089#47875cfe75a14a2ab9ad9dfa00bef089</guid>
		<dc:creator>RichardRudek</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/RichardRudek/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p>performance wise i will need it to be able to pass about 100 3d vector structures (x,y,z) floats a second, which is a pretty low requirement. The data will most likely be fed through in a fifo type queue.
<br /><br />The plugin will take in data from the maya ui (in the form of a text string or a wav file--probably still just a text string), and communicate with the C# code, then feed the result back to maya as new vertex points for parts of the model - the plugin has to
 interpret this data from a proprietary xml format.<br /><br />After speaking to the project lead, I think I am first going to ensure i can interact with maya through unmanaged c&#43;&#43;, then i will most likely develop a wrapper for managed access.<br /><br />maya comes with a VS wizard that creates a C&#43;&#43; project for a maya plugin, at this point i am not certain what vector it specifically uses to communicate as that functionality is wrapped in a seperate set of macros.<br /><br />The other problem is that the project targets .NET 1.1... and i don't have access to 2003 at home, but they might migrate to 2.0... i'll figure it out, but old tutorials are good, for now <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br /><br /><br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/e290e79338374bc2a4119dfa00bef11d#e290e79338374bc2a4119dfa00bef11d</link>
		<pubDate>Wed, 13 Feb 2008 01:19:47 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/e290e79338374bc2a4119dfa00bef11d#e290e79338374bc2a4119dfa00bef11d</guid>
		<dc:creator>Verdant</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Verdant/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - using a Managed DLL from an unmanaged one?</title>
		<description><![CDATA[<p>COM likes to do things in large chunks because the roundtrip (cross process/ cross machine) is expensive. 100 per second might be OK. I think the last time I benched it, I was able to get up to ~1000 calls per second. But my memory may be wrong in this
 case. I certainly wouldn't try going much beyond 100, at least on a single core system.<br /><br />The other thing to consider is [<a href="http://msdn2.microsoft.com/en-us/library/aa720129%28VS.71%29.aspx">hosting the 1.1 CLR</a>]. That is, within your Maya Plugin DLL,
<b>you</b> host a CLR domain, and your managed code runs within this <b>isolated</b> environment. Kind of like adding a scripting engine, but the 'scripts' are your managed code.<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/a25f9866df92486abb249dfa00bef1b3#a25f9866df92486abb249dfa00bef1b3</link>
		<pubDate>Wed, 13 Feb 2008 01:55:17 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/260931-using-a-Managed-DLL-from-an-unmanaged-one/a25f9866df92486abb249dfa00bef1b3#a25f9866df92486abb249dfa00bef1b3</guid>
		<dc:creator>RichardRudek</dc:creator>
		<slash:comments>7</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/RichardRudek/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>