CoCreateInstance 2008-09-25 13:33:44 标签:COM COM 客户端感兴趣的是它可以调用的函数,在COM 中,你可以通过接口来访问一套有用的函数
接口最简单的形式就是函数的一个集合
当我们得到COM 服务器的一个接口时,我们就得到了一个指向一套函数的指针
通过调用CoCreateInstance()函数,你就可以得到一个接口的指针
这是一个非常强大的函数,它可与COM 子系统进行交互,并做以下的事情: 查找服务器 开始、载入或者连接到服务器 在服务器端创建一个COM 对象 返回指向COM 对象接口的一个指针 对于查找和访问接口,有两种数据类型是很重要的,它们是:CLSID 和 IID
它们都是Globally Unique ID's (GUID's)
GUID's 用作唯一辨认所有的COM 类和接口
为了得到某个特别的类和接口,你需要它的GUID
要得到GUID,有许多方法
通常我们可以由服务器的头文件得到CLSID 和 IID
在我们的例子中,我们在源代码的开始部分使用#defind 语句定义了GUID
通过接口的一般名字来查找GUID 也很方便的
让我们得到接口指针的函数是CoCreateInstance
hr = CoCreateInstance( CLSID_BeepObj, // COM class id NULL, // outer unknown CLSCTX_INPROC_SERVER, // server INFO IID_IBeepObj, // interface id (void**)&IBeep ); // pointer to inter 第一个参数是一个GUID,它可唯一指定客户端需要使用的COM 类
GUID 或者CLSID 是COM 类的标识符
世界上的每个COM 类都