电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

CoCreateInstance用法

CoCreateInstance用法_第1页
1/6
CoCreateInstance用法_第2页
2/6
CoCreateInstance用法_第3页
3/6
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 类都有自己唯一的CLSID。COM 将使用该ID 来查找可产生请求COM 对象的服务器。一旦连接到服务器,将会创建该对象。 第二个参数是一个指针,它指向“outer unknown”。我们不会使用这个参数,因此传送一个NULL。在涉及到“aggregation”(集合)概念时,outer unknown 是很重要的。aggregation 可让一个接口直接调用另一个COM 接口而无需通知客户端。aggregation 和containment 是接口用来调用其它接口的两个方法。 第三个参数定义COM 类的Context 或者CLSCTX。该参数控制服务器的范围。我们可以通过它来控制服务器是进程内的服务器,还是一个EXE 或者是在远程的计算机上。CLSCTX是一个位掩码,因此你可以混合几个值。这里我们使用的是CLSCTX_INPROC_SERVER--该服务器将运行在本地的计算机,并且作为一个DLL 连接到客户。由于进程内的服务器是最容易实现的,因此我们在这个例子中选用它来讲解。 通常客户端都不用关...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

CoCreateInstance用法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部