﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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/"><channel><title>C++博客-天下-随笔分类-COM/ATL</title><link>http://www.cppblog.com/aaxron/category/19474.html</link><description>把剑观沧海 笑语话人生</description><language>zh-cn</language><lastBuildDate>Fri, 08 Jun 2012 13:47:50 GMT</lastBuildDate><pubDate>Fri, 08 Jun 2012 13:47:50 GMT</pubDate><ttl>60</ttl><item><title>COM调用</title><link>http://www.cppblog.com/aaxron/archive/2012/06/08/178121.html</link><dc:creator>天下</dc:creator><author>天下</author><pubDate>Fri, 08 Jun 2012 13:46:00 GMT</pubDate><guid>http://www.cppblog.com/aaxron/archive/2012/06/08/178121.html</guid><wfw:comment>http://www.cppblog.com/aaxron/comments/178121.html</wfw:comment><comments>http://www.cppblog.com/aaxron/archive/2012/06/08/178121.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/aaxron/comments/commentRss/178121.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/aaxron/services/trackbacks/178121.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;atlcall.cpp&nbsp;:&nbsp;Defines&nbsp;the&nbsp;entry&nbsp;point&nbsp;for&nbsp;the&nbsp;console&nbsp;application.<br /></span><span style="color: #008000">//<br /></span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">stdafx.h</span><span style="color: #000000">"</span><span style="color: #000000"><br />#import&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">AtlSample.tlb</span><span style="color: #000000">"</span><span style="color: #000000"><br /><br />#include&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Debug/atlsample.tlh</span><span style="color: #000000">"</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;AtlSampleLib;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_tmain(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;argc,&nbsp;_TCHAR</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;argv[])<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;HRESULT&nbsp;hr;<br />&nbsp;&nbsp;&nbsp;&nbsp;hr&nbsp;&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">::CoInitialize(NULL);<br />&nbsp;&nbsp;&nbsp;&nbsp;IAccountPtr&nbsp;pAccount&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;pAccount.CreateInstance(__uuidof(Account));<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(FAILED(hr))<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000">"</span><span style="color: #000000">(FAILED(hr)&nbsp;\r\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::CoUninitialize();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;BSTR&nbsp;buf;<br />&nbsp;&nbsp;&nbsp;&nbsp;pAccount</span><span style="color: #000000">-&gt;</span><span style="color: #000000">Post(</span><span style="color: #000000">100</span><span style="color: #000000">,</span><span style="color: #000000">&amp;</span><span style="color: #000000">buf);<br />&nbsp;&nbsp;&nbsp;&nbsp;::SysFreeString(buf);<br />&nbsp;&nbsp;&nbsp;&nbsp;pAccount.Release();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">必须先调用,否则::CoUninitialize()会有异常</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;::CoUninitialize();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /><br /></span></div><img src ="http://www.cppblog.com/aaxron/aggbug/178121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/aaxron/" target="_blank">天下</a> 2012-06-08 21:46 <a href="http://www.cppblog.com/aaxron/archive/2012/06/08/178121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>