代码之家  ›  专栏  ›  技术社区  ›  Ibrahim Najjar

COM类工厂

com
  •  0
  • Ibrahim Najjar  · 技术社区  · 14 年前

    我正在寻找一些COM,.NET互操作性主题,我遇到了一些使用c++的遗留COM示例,为了总结一下,我了解到u定义了每个接口和内部的coclass以及idl(接口定义文件),这样其他COM感知语言就可以理解类型信息,但idl文件中唯一没有定义的COM类是源于IClassFactory,有人能告诉我为什么其他.NET语言也需要获得类工厂来建立其他com类,那么他们如何理解类型信息??

    1 回复  |  直到 14 年前
        1
  •  0
  •   atzz    14 年前

    一流的工厂很少直接使用。事实上,如果您需要先创建一个类工厂来创建任何COM对象,您将如何创建类工厂本身?

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

    这只是关于这个话题的几句话。COM是一个非常大的话题;您可能必须从 very beginning 如果你想完全了解。。。