COM类工厂

时间:2010-09-04 15:25:29

标签: com


我正在寻找一些COM,.NET互操作性主题,并且我遇到了一些使用c ++的遗留COM示例,为了完善它,我明白你定义了内部的每个接口和coclass以及idl(接口定义文件)所以其他com语言可以理解类型信息,但是idl文件中没有定义的唯一com类是从IClassFactory派生的,有些人可以告诉为什么,因为其他.NET语言也需要获得类工厂来本能化其他com类,那么他们怎么能理解类型信息呢?

1 个答案:

答案 0 :(得分:0)

类工厂很少直接使用。实际上,如果您需要首先创建一个类工厂来创建任何COM对象,那么您将如何创建类工厂呢?

COM库负责创建对象。例如,如果COM服务器是DLL,则需要导出DllGetClassObject功能。当客户端想要创建COM对象时,它会调用CoCreateInstance来指定CLSID。使用CLSID,COM​​库找到服务器并且(如果它是DLL)加载它并调用它DllGetClassObject

这只是关于这个主题的几个词。 COM是一个非常大的话题;如果你想完全理解,你可能必须从very beginning开始......