<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Interoperability</title>
        <link>http://geekswithblogs.net/devdevin/category/4687.aspx</link>
        <description>Stuff related to the compatibility of disparate systems</description>
        <language>en-US</language>
        <copyright>Devin A. Rychetnik</copyright>
        <managingEditor>drychetnik@msn.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>.NET C# Interoperability</title>
            <link>http://geekswithblogs.net/devdevin/archive/2006/06/01/80363.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;When dealing with managed code and unmanaged code together there are several nuances that change the way&amp;nbsp;that interoperability is implemented&amp;nbsp;and things can easily get confusing. For instance, dealing with Win32 COM dlls, plain vanilla Win32 dlls, and ActiveX controls&amp;nbsp;from managed C# all have their own means. An interop assembly can be created for Win32 COM dlls so that it can be referenced from a C# project directly. However, to use regular Win32 dlls from a C# project, you must utilize Platform Invoke. Further, for ActiveX controls you need&amp;nbsp;to generate a&amp;nbsp;wrapper control, which can then be used to reference from you C# project. All these methods are explained in more detail here: &lt;/FONT&gt;&lt;A href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_csref/html/c025b2e0-2357-4c27-8461-118f0090aeff.asp"&gt;&lt;FONT face=Tahoma size=2&gt;http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_csref/html/c025b2e0-2357-4c27-8461-118f0090aeff.asp&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma size=2&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=80363"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=80363" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/devdevin/aggbug/80363.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Devin Rychetnik</dc:creator>
            <guid>http://geekswithblogs.net/devdevin/archive/2006/06/01/80363.aspx</guid>
            <pubDate>Thu, 01 Jun 2006 15:24:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/devdevin/comments/80363.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/devdevin/archive/2006/06/01/80363.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/devdevin/comments/commentRss/80363.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/devdevin/services/trackbacks/80363.aspx</trackback:ping>
        </item>
    </channel>
</rss>