<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-14338506.post3914293666542845120..comments</id><updated>2011-04-20T13:53:55.814+01:00</updated><category term='gluezilla'/><category term='flashing'/><category term='wootness'/><category term='winforms'/><category term='web'/><category term='bugs'/><category term='xulbrowser'/><category term='books'/><category term='security'/><category term='NumericUpDown'/><category term='streaming'/><category term='rants'/><category term='music'/><category term='hacking'/><category term='fosdem'/><category term='shoutcast'/><category term='open source'/><category term='osx'/><category term='assembly'/><category term='phone'/><category term='chrome'/><category term='ad'/><category term='c'/><category term='job'/><category term='android'/><category term='n800'/><category term='browser'/><category term='error message'/><category term='coding'/><category term='windows'/><category term='tomboy'/><category term='.net'/><category term='dsp'/><category term='livros'/><category term='mono'/><category term='winamp'/><category term='terastation'/><category term='mono soc'/><category term='moonlight'/><category term='wave'/><category term='c++'/><category term='focus'/><category term='google'/><title type='text'>Comments on World of coding: Binding C++ APIs, the COM way</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.worldofcoding.com/feeds/3914293666542845120/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html'/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14338506.post-952369591952033123</id><published>2011-04-20T13:53:55.814+01:00</published><updated>2011-04-20T13:53:55.814+01:00</updated><title type='text'>The cppinterop essentially supersedes this, suppor...</title><summary type='text'>The cppinterop essentially supersedes this, supporting interfaces, class instantiation and subclassing. It&amp;#39;s still a work in progress, it should be finished in the next few months.&lt;br /&gt;&lt;br /&gt;Regarding the mac, there&amp;#39;s no support at the moment for name mangling there, if you&amp;#39;re targetting non-gcc libraries that won&amp;#39;t probably work, and I&amp;#39;m not sure if gcc on the mac is </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/952369591952033123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/952369591952033123'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1303304035814#c952369591952033123' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/04206926767623363656</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/-oYzQc-yh2W8/TYOx7facX4I/AAAAAAAAAA4/LfZ49QYQ72E/s220/avatar2.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2002812245'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-4356965420989895060</id><published>2011-04-18T08:41:53.156+01:00</published><updated>2011-04-18T08:41:53.156+01:00</updated><title type='text'>By start... I very, very sorry about my last comme...</title><summary type='text'>By start... I very, very sorry about my last comment hehe... I didn&amp;#39;t realize that I was talking with a woman instead of a man... I just read the Gaita part of the name... so again, sorry by my mistake! :P&lt;br /&gt;&lt;br /&gt;Now looking at your code and the possibilities for the C++ bindings... I am creating bindings for some C++ libraries used in games, like Ogre, OIS, FMod and Bullet...&lt;br /&gt;&lt;br /&gt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4356965420989895060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4356965420989895060'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1303112513156#c4356965420989895060' title=''/><author><name>Daniel Ferreira Monteiro Alves</name><uri>http://www.blogger.com/profile/03186658891344967956</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_cFgOo2BjIp8/TOwkYqtmO9I/AAAAAAAABpc/hFDJWEv-Aic/S220/Daniel.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-684850472'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3499644563542370228</id><published>2011-02-17T16:31:19.873Z</published><updated>2011-02-17T16:31:19.873Z</updated><title type='text'>@Daniel

This is all just shuffling pointers aroun...</title><summary type='text'>@Daniel&lt;br /&gt;&lt;br /&gt;This is all just shuffling pointers around and calling function pointers on vtables, so performance wise it&amp;#39;s pretty much the same thing. The performance impact on pinvoke is the need for memory pinning and copying, which also happens here.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3499644563542370228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3499644563542370228'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1297960279873#c3499644563542370228' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-571703382'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-4157485209336785072</id><published>2011-02-04T19:58:38.634Z</published><updated>2011-02-04T19:58:38.634Z</updated><title type='text'>Hey man! I liked your post, but I have one questio...</title><summary type='text'>Hey man! I liked your post, but I have one question, because I don&amp;#39;t know COM very well, so:&lt;br /&gt;&lt;br /&gt;What is the performance hit of using a COM interface instead of a p/invoke call?</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4157485209336785072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4157485209336785072'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1296849518634#c4157485209336785072' title=''/><author><name>Daniel Ferreira Monteiro Alves</name><uri>http://www.blogger.com/profile/03186658891344967956</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_cFgOo2BjIp8/TOwkYqtmO9I/AAAAAAAABpc/hFDJWEv-Aic/S220/Daniel.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-684850472'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-4717911051514806353</id><published>2010-09-15T18:17:00.810+01:00</published><updated>2010-09-15T18:17:00.810+01:00</updated><title type='text'>though i code mostly in C, i enjoy your article mu...</title><summary type='text'>though i code mostly in C, i enjoy your article much</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4717911051514806353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4717911051514806353'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1284571020810#c4717911051514806353' title=''/><author><name>Iyan</name><uri>http://www.sentramodem.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1104377426'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-123327167857127682</id><published>2009-08-07T04:29:28.510+01:00</published><updated>2009-08-07T04:29:28.510+01:00</updated><title type='text'>@Martin:
Yes, of course, all wrapper classes need ...</title><summary type='text'>@Martin:&lt;br /&gt;Yes, of course, all wrapper classes need to be IDisposable, otherwise it&amp;#39;s a huge headache. This article doesn&amp;#39;t talk about wrapper classes, but I should get around to talking about that one of these days. :P</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/123327167857127682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/123327167857127682'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249615768510#c123327167857127682' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-571703382'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-7288408641117425764</id><published>2009-08-07T03:08:38.707+01:00</published><updated>2009-08-07T03:08:38.707+01:00</updated><title type='text'>@andreia: exactly. If the wrapper classes implemen...</title><summary type='text'>@andreia: exactly. If the wrapper classes implement IDisposable, life in much easier. In an old protect I actually reimplemented MS&amp;#39;s tool (tlbimp? Can&amp;#39;t remember now) to do exactly that.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/7288408641117425764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/7288408641117425764'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249610918707#c7288408641117425764' title=''/><author><name>Martin Adoue</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1202500219'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3819410970852428924</id><published>2009-08-05T12:23:32.275+01:00</published><updated>2009-08-05T12:23:32.275+01:00</updated><title type='text'>I recently came accross your blog and have been re...</title><summary type='text'>I recently came accross your blog and have been reading along. I thought I would leave my first comment. I dont know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Susan&lt;br /&gt;&lt;br /&gt;&lt;a href="http://8080proxy.com" rel="nofollow"&gt;http://8080proxy.com&lt;/a&gt;</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3819410970852428924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3819410970852428924'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249471412275#c3819410970852428924' title=''/><author><name>martha</name><uri>http://www.blogger.com/profile/10543257363812557287</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-325180714'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-8605125542588000557</id><published>2009-08-04T18:21:21.134+01:00</published><updated>2009-08-04T18:21:21.134+01:00</updated><title type='text'>@AJ:

Besides the fact that we&amp;#39;re not talking ...</title><summary type='text'>@AJ:&lt;br /&gt;&lt;br /&gt;Besides the fact that we&amp;#39;re not talking about OLE anywhere here, that article makes little sense, frankly.&lt;br /&gt;&lt;br /&gt;QueryInterface is called to verify that the current object instance can be cast to the type that you&amp;#39;re asking it: this is the same dynamic casting concept as typeid/dynamic_cast that you get when you enable rtti on c++, the ability to do reflection on </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/8605125542588000557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/8605125542588000557'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249406481134#c8605125542588000557' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-571703382'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3196197804086555779</id><published>2009-08-04T17:56:35.527+01:00</published><updated>2009-08-04T17:56:35.527+01:00</updated><title type='text'>Interesting and clear, but, how many times are we ...</title><summary type='text'>Interesting and clear, but, how many times are we going to make the same mistakes with OLE/COM design?&lt;br /&gt;&lt;br /&gt;http://www.relisoft.com/Win32/olerant.html</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3196197804086555779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3196197804086555779'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249404995527#c3196197804086555779' title=''/><author><name>AJ</name><uri>http://www.blogger.com/profile/01408695890396506223</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1896008776'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-1118749442482045240</id><published>2009-08-04T11:07:39.990+01:00</published><updated>2009-08-04T11:07:39.990+01:00</updated><title type='text'>Nice article, but I agree that this needs to be au...</title><summary type='text'>Nice article, but I agree that this needs to be autogenerated so the SWIG link is very interesting indeed :)</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1118749442482045240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1118749442482045240'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249380459990#c1118749442482045240' title=''/><author><name>Anders Rune Jensen</name><uri>http://people.iola.dk/arj/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-953960808'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-1274530189438147410</id><published>2009-08-04T06:35:02.530+01:00</published><updated>2009-08-04T06:35:02.530+01:00</updated><title type='text'>is this possible in mono?? http://www.codeproject....</title><summary type='text'>is this possible in mono?? http://www.codeproject.com/KB/dotnet/DllExporter.aspx&lt;br /&gt;&lt;br /&gt;works fine in windows tho...</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1274530189438147410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1274530189438147410'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249364102530#c1274530189438147410' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1487234905'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-7115958458133543160</id><published>2009-08-03T22:03:40.083+01:00</published><updated>2009-08-03T22:03:40.083+01:00</updated><title type='text'>If anyone wants to earn some Kudos for both the Dr...</title><summary type='text'>If anyone wants to earn some Kudos for both the Drizzle &amp;amp; Mono communities, there is no C# client for the Drizzle database.  It needs hooking up to the C library libdrizzle &lt;br /&gt;https://launchpad.net/libdrizzle</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/7115958458133543160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/7115958458133543160'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249333420083#c7115958458133543160' title=''/><author><name>MyID.config.php</name><uri>http://stu.org.uk/MyID.config.php</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1887818409'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3688449060088569023</id><published>2009-08-03T20:03:57.890+01:00</published><updated>2009-08-03T20:03:57.890+01:00</updated><title type='text'>+1 on SWIG, we&amp;#39;ve used on several large cross ...</title><summary type='text'>+1 on SWIG, we&amp;#39;ve used on several large cross platform c++ APIs with the resulting c# wrapper also being cross platform.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3688449060088569023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3688449060088569023'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249326237890#c3688449060088569023' title=''/><author><name>Jae</name><uri>http://www.blogger.com/profile/11590327362007753457</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_bPj3hHdtics/RypujHCkV7I/AAAAAAAABZo/BSH041MoIO8/s320/jae_avatar.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1086034648'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-4267258361286872395</id><published>2009-08-03T18:20:54.213+01:00</published><updated>2009-08-03T18:20:54.213+01:00</updated><title type='text'>@mdi:

You can return whatever you want - the limi...</title><summary type='text'>@mdi:&lt;br /&gt;&lt;br /&gt;You can return whatever you want - the limit is the same as for pinvokes, basically, and the same goes for in and out parameters. If what you&amp;#39;re returning can&amp;#39;t be automatically marshalled, you can always use HandleRef or IntPtr to do manual conversions, just like you would for pinvokes.&lt;br /&gt;&lt;br /&gt;Some example code is at &lt;a href="http://www.mono-project.com/COM_Interop" </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4267258361286872395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/4267258361286872395'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249320054213#c4267258361286872395' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-571703382'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3168882559568235978</id><published>2009-08-03T18:01:18.424+01:00</published><updated>2009-08-03T18:01:18.424+01:00</updated><title type='text'>Question: are there any restrictions on what the C...</title><summary type='text'>Question: are there any restrictions on what the COM exposed APIs have to return?&lt;br /&gt;&lt;br /&gt;Do they all have to return some sort of int/HRESULT, or can they return other things like strings and structs?</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3168882559568235978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3168882559568235978'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249318878424#c3168882559568235978' title=''/><author><name>mdi</name><uri>http://www.blogger.com/profile/11428205606558379989</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-419314246'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-2719904084241562218</id><published>2009-08-03T17:11:17.877+01:00</published><updated>2009-08-03T17:11:17.877+01:00</updated><title type='text'>Would seriously recommend SWIG
http://www.swig.org...</title><summary type='text'>Would seriously recommend SWIG&lt;br /&gt;http://www.swig.org/&lt;br /&gt;&lt;br /&gt;We&amp;#39;ve used it to automatically generate bindings for massive C++ baselines in both Windows and Linux. It takes your C++ header files as input, so as your interface changes, your bindings are automatically updated.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/2719904084241562218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/2719904084241562218'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249315877877#c2719904084241562218' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1371066458'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3689404860162409771</id><published>2009-08-03T16:27:22.736+01:00</published><updated>2009-08-03T16:27:22.736+01:00</updated><title type='text'>@Martin:

I take it you&amp;#39;re talking about C# cl...</title><summary type='text'>@Martin:&lt;br /&gt;&lt;br /&gt;I take it you&amp;#39;re talking about C# classes that implement and/or store COM interfaces/objects?</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3689404860162409771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3689404860162409771'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249313242736#c3689404860162409771' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-571703382'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-1525842511440591825</id><published>2009-08-03T16:12:32.297+01:00</published><updated>2009-08-03T16:12:32.297+01:00</updated><title type='text'>@Bert:

Yes, you&amp;#39;re right, it should return in...</title><summary type='text'>@Bert:&lt;br /&gt;&lt;br /&gt;Yes, you&amp;#39;re right, it should return int. When the interface is not supported, the pointer should be set to null, which gives the same behaviour as returning an error code (throws a COMException), so I can get away with not returning it, but returning it allows the exception to have an error code.&lt;br /&gt;&lt;br /&gt;Wrt returning &amp;#39;this&amp;#39;, this is a quick and dirty example. It </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1525842511440591825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1525842511440591825'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249312352297#c1525842511440591825' title=''/><author><name>andreia|gaita</name><uri>http://www.blogger.com/profile/07506744512219560432</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-571703382'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-3179099050480213819</id><published>2009-08-03T15:53:49.734+01:00</published><updated>2009-08-03T15:53:49.734+01:00</updated><title type='text'>Also, while you are at it, you can fix Microsoft&amp;#...</title><summary type='text'>Also, while you are at it, you can fix Microsoft&amp;#39;s mistake and make all COM classes implement IDisposable. That way deterministic finalization (key for many COM/C++ classes) can be easily achieved using, well, &amp;quot;using&amp;quot;.</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3179099050480213819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/3179099050480213819'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249311229734#c3179099050480213819' title=''/><author><name>Martin Adoue</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1178834555'/></entry><entry><id>tag:blogger.com,1999:blog-14338506.post-1298221098666751375</id><published>2009-08-03T15:06:04.328+01:00</published><updated>2009-08-03T15:06:04.328+01:00</updated><title type='text'>In COM QueryInterface returns a result code to all...</title><summary type='text'>In COM QueryInterface returns a result code to allow checking if the requested interface is really supported. And always returning &amp;#39;this&amp;#39; will not work for other interfaces than the default interface. (It has to be casted to the interface before returning the reference)</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1298221098666751375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14338506/3914293666542845120/comments/default/1298221098666751375'/><link rel='alternate' type='text/html' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html?showComment=1249308364328#c1298221098666751375' title=''/><author><name>Bert Huijben</name><uri>http://b.qqn.nl/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.worldofcoding.com/2009/08/binding-c-apis.html' ref='tag:blogger.com,1999:blog-14338506.post-3914293666542845120' source='http://www.blogger.com/feeds/14338506/posts/default/3914293666542845120' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-865810215'/></entry></feed>
