WEB开发网
开发学院软件开发VC COM编程入门 :什么是COM,如何使用COM 阅读

COM编程入门 :什么是COM,如何使用COM

 2006-07-21 11:45:08 来源:WEB开发网   
核心提示: 让我们继续外壳链接的例子,它实现了IShellLink 和IPersistFile接口,COM编程入门 :什么是COM,如何使用COM(7),如果你已经有一个IShellLink指针,pISL,2、调用CRT 函数wcstombs(),3、使用CString 构造器或赋值操作(仅用于MFC

让我们继续外壳链接的例子。它实现了IShellLink 和IPersistFile接口。如果你已经有一个IShellLink指针,pISL,可以从COM对象请求IPersistFile接口:

HRESULT hr;
IPersistFile* pIPF;
hr = pISL->QueryInterface ( IID_IPersistFile, (void**) &pIPF );

然后使用SUCCEEDED宏检查hr的值以确定QueryInterface()的调用情况,如果成功的话你就可以象使用其它接口指针那样使用新的接口指针,pIPF。但必须记住调用pIPF->Release()通知COM对象已经用完这个接口。

仔细做好串处理

这一部分将花点时间来讨论如何在COM代码中处理串。如果你熟悉Unicode 和ANSI,并知道如何对它们进行转换的话,你就可以跳过这一部分,否则还是读一下这一部分的内容。

不管什么时候,只要COM方法返回一个串,这个串都是Unicode串(这里指的是写入COM规范的所有方法)。Unicode是一种字符编码集,类似ASCII,但用两个字节表示一个字符。如果你想更好地控制或操作串的话,应该将它转换成TCHAR类型串。

TCHAR和以_t开头的函数(如_tcscpy())被设计用来让你用相同的源代码处理Unicode和ANSI串。在大多数情况下编写的代码都是用来处理ANSI串和ANSI WindowsAPIs,所以在下文中,除非另外说明,我所说的字符/串都是指TCHAR类型。你应该熟练掌握TCHAR类型,尤其是当你阅读其他人写的有关代码时,要特别注意TCHAR类型。

当你从某个COM方法返回得到一个Unicode串时,可以用下列几种方法之一将它转换成char类型串:

1、调用 WideCharToMultiByte() API。

2、调用CRT 函数wcstombs()。

3、使用CString 构造器或赋值操作(仅用于MFC )。

4、使用ATL 串转换宏。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:COM 编程 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接