CoGetClassObject
计算机语言
CoGetClassObject,计算机语言,指的是创建了一个被称作是类厂的组件。
简介
CoCreateInstance实际上并没有直接创建COM组件 ,而是创建了一个被称作是类厂的组件。而所需的组件正是由些类厂创建的。类厂组件的唯一功能就创建其他的组件。创建组件的标准接口是IClassFactory,用CoCreateInstnce创建的组件实际上是通过IClassFactory创建的。
类厂只是创建其它组件的一个简单组件。
区别1:CoGetClassObject同CoCreatInstance是非常相似的。只一个参数不同,CoCreatInstance将接收一个Iunknown指针,而CoGetClassObject则将接收一个COSERVERINFO指针。
区别2:CoGetClassObject返回的是指向类厂中某个接口的指针(客户可以用这个指针来创建所需的组件),而CoCreateInstance返回的则是指向组件中某个接口的指针。
为了创建同某个CLSID相应的类厂,需要一个与CoCreateInstance等价的,也可以接收一个CLSID作为参数并返回相应类厂中某个接口指针的函数。这个函数就是COM库中的CoGetClassObject。
类厂所支持的用于创建组件的标准接口是IClassFactory。大多数组件均可使用IClassFactory接口来创建。
声明
CoGetClassObject:
STDAPI CoGetClassObject(REFCLSID rclsid,DWORD dwClsContext,COSERVERINFO * pServerInfo,REFIID riid,LPVOID * ppv);
参考资料
最新修订时间:2023-12-27 22:43
目录
概述
简介
参考资料