<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Registration-free COM</title><link>http://blogs.msdn.com/mikhailarkhipov/archive/2005/04/01/404433.aspx</link><description>There is a great article on MSDN by Dave Templin about new VS 2005 functionality that allows you to isolate COM components and avoid COM DLL hell. The technique only works on Windows XP though (see Limitations of Reg-Free COM ). But what if you need solution</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Registration-free COM</title><link>http://blogs.msdn.com/mikhailarkhipov/archive/2005/04/01/404433.aspx#497838</link><pubDate>Tue, 29 Nov 2005 16:05:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:497838</guid><dc:creator>Tharabai</dc:creator><description>Hi I have a .net based .tlb which i want to use in CPP code. May I know how to use it without registration of com. Here is the sample code:&lt;br&gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#include &amp;lt;windows.h&amp;gt;&lt;br&gt;#include &amp;quot;OBJBASE.h&amp;quot;&lt;br&gt;#include &amp;lt;time.h&amp;gt;&lt;br&gt;#include &amp;quot;RCSTlbImp.h&amp;quot;&lt;br&gt;#import &amp;quot;REWDIntf.tlb&amp;quot; named_guids&lt;br&gt;void RCSLinkLib()&lt;br&gt;{&lt;br&gt;	HINSTANCE hins=NULL;&lt;br&gt;	DWORD	dwRetVal = 0;&lt;br&gt;	&lt;br&gt;	CoInitialize(NULL);&lt;br&gt;	REWDIntf::IRCSManagedInterface *pRcsDllInterface= NULL; //Reference to the class&lt;br&gt;	&lt;br&gt;	hins=LoadLibrary(&amp;quot;C:/WINDOWS/SYSTEM32/REWDIntf.dll&amp;quot;);&lt;br&gt;	DWORD dwErr =  GetLastError();&lt;br&gt;&lt;br&gt;	RCS_test=(RCSTest)GetProcAddress(hins,&amp;quot;REWDIntf::RCSTest&amp;quot;);&lt;br&gt;	&lt;br&gt;//	DllGetClassObject(REWDIntf::CLSID_REWDIntf, REWDIntf::IID_IRCSManagedInterface,reinterpret_cast&amp;lt;void**&amp;gt;(&amp;amp;pRcsDllInterface));&lt;br&gt;	dwErr =  GetLastError();&lt;br&gt;	CoUninitialize();&lt;br&gt;&lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;br&gt;void main()&lt;br&gt;{&lt;br&gt;	RCSLinkLib();&lt;br&gt;	int i = RCS_test(1);&lt;br&gt;}</description></item><item><title>re: Registration-free COM</title><link>http://blogs.msdn.com/mikhailarkhipov/archive/2005/04/01/404433.aspx#506985</link><pubDate>Fri, 23 Dec 2005 09:42:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:506985</guid><dc:creator>Mikhail Arkhipov (MSFT)</dc:creator><description>DllGetClassObject is only able to retrieve IClassFactory interface, it cannot retrieve custom interfaces. You need to implement class factory (if you are using ATL, it should acready be there). Then you call DllGetClassObject and receive IClassFactory. Then you call IClassFactory::CreateInstance passing GUID of the desired class and receive back IUnknown from the requested class. Now you can QI the instance to your custom interface.</description></item><item><title>Emulating CoCreateInstance() &amp;laquo; lallous&amp;#8217; lab</title><link>http://blogs.msdn.com/mikhailarkhipov/archive/2005/04/01/404433.aspx#1552161</link><pubDate>Mon, 29 Jan 2007 19:38:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1552161</guid><dc:creator>Emulating CoCreateInstance() « lallous’ lab</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://lallousx86.wordpress.com/2007/01/29/emulating-cocreateinstance/"&gt;http://lallousx86.wordpress.com/2007/01/29/emulating-cocreateinstance/&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>