COM
文章平均质量分 78
chenchong_219
这个作者很懒,什么都没留下…
展开
-
CoCreateInstance
CoCreateInstance创建组件的最简单的方法是使用CoCreateInstance函数。在COM库中包含一个用于创建组件的名为CoCreateInstance的函数。此函数需要一个CLSID参数,在此基础上创建相应组件的一个实例,并返回此组件的某个接口。 CoCreateInstance 的声明HRESULT _stdcall CoCreateInstance(转载 2013-04-09 23:41:39 · 3224 阅读 · 0 评论 -
Widows 注册表
Widows 注册表 HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字。在CLSID关键字之下列有系统中安装的所有组件的CLSID。注册表CLSID是一个具有如下格式的串:00000010-0000-0010-8000-00AA006D2EA4 HKEY_CLASSES_ROOT的开头,列出的将是各种应用程序所注册的文件扩展名。在扩展名之转载 2013-04-09 23:47:28 · 1468 阅读 · 0 评论 -
GUID
GUID 它实际上是组件和接口的标识号static const IID IID_IX = { 0x1ee235bd, 0x2e73, 0x49c2, 0xa5, 0x7c, 0x8b, 0xe5, 0x96, 0x92, 0x7e, 0xa2};实际上IID是一个128比特(16字节)的一个GUID结构。GUID是英文Globally Unique Identifier转载 2013-04-09 23:48:04 · 2710 阅读 · 0 评论 -
HRESULT
HRESULTHRESULT(Here's the RESULT)值分成32位值, HRESULT值中16到30这15个比特位包含的是设备代码。设备代码标识的是可以返回HRESULT返回代码的操作系统部分。由于Windows操作系统是由Microsoft开发的。因此它保留有定义设备代码的权力。 HRESULT值的查找获取与某个特定HR转载 2013-04-09 23:48:32 · 1612 阅读 · 0 评论 -
DLL-创建DLL
在实现了IUnknown之后,组件和客户之间只是一种非常松散的连接,这使用组件和客户各自可以发生变化而不会对对方造成什么影响。下面讨论如何将组件放入到动态链接库(dll)中。关于DLL更多内容可以参考我的其它文章:DLL-基本概念DLL-创建DLLDLL-使用DLLhttp://www.cnblogs.com/fangyukuan/arc转载 2013-04-09 23:49:05 · 644 阅读 · 0 评论 -
COM笔记-引用计数
COM笔记-引用计数fangyukuan2010.6.6com组件将维护一个称作是引用计数的数值。当客户从组件取得一个接口时,此引用计数值将增1。当客户使用完某个接口后,组件的引用计数值将减1.当引用计数值为0时,组件即可将自己从内存中删除。 为什么要选择为每一个接口单独维护一个引用计数而不是针对整个组件维护引用计数呢?主要有两个原因:一是使程序调试更为方转载 2013-04-09 23:52:30 · 631 阅读 · 0 评论 -
普通接口实例
普通接口实例(vs2008)代码下载:http://www.box.net/shared/tlke8tb7j9#include using namespace std; #include // Define interface. /* 输出一个字符串*/void trace(const char* pMsg){ cout pMs转载 2013-04-09 23:51:01 · 791 阅读 · 0 评论