多实例COM对象

时间:2012-02-17 16:46:49

标签: c# c++ com interop

我在C#中使用C ++编写的COM对象。我只是通过" new"创建实例。我需要很多这样的物体。但是其他每一个" new"不会创建新实例,但只提供对第一个对象的引用。这就是为什么我的数据混乱。是否有可能每次都获得新实例?或者我应该在我的COM中实现IClassFactory来实例化而不是单例? 我在VC 2010中通过ATL支持与主人进行了COM。我在哪里以及如何实现IClassFactory时遇到了麻烦。

1 个答案:

答案 0 :(得分:1)

您需要实施IUnknownIClassFactory。根据您的工作,您可能还需要实施IDispatchIErrorInfo。它非常复杂,所以我不会在这里详细介绍。以下三篇文章应涵盖您所追求的所有内容:

  1. Step by Step COM Tutorial
  2. Understanding Classic COM Interoperability With .NET Applications
  3. Fundamentals of ATL COM Objects