我在C#中使用C++编写的COM对象。我只是通过“新建”创建实例。我需要许多这样的对象。但是每隔一个"new"都不会创建新实例,而仅提供对第一个对象的引用。那就是为什么我对数据一团糟。是否可以每次获取新实例?还是我应该在COM中实现IClassFactory来实例化而不是单例?
我已经在具有ATL支持的VC 2010中使用COM制作了COM。而且我在哪里以及如何实现IClassFactory方面遇到麻烦。

最佳答案

您需要实现IUnknownIClassFactory。根据您在做什么,您可能还想实现IDispatchIErrorInfo。它涉及很多,所以我在这里不做详细介绍。以下三篇文章应涵盖您所需要的几乎所有内容:

  • Step by Step COM Tutorial
  • Understanding Classic COM Interoperability With .NETApplications
  • Fundamentals of ATL COM Objects
  • 10-07 19:00
    查看更多