用于托管进程内服务器的自定义COM类工厂

时间:2013-10-10 23:40:49

标签: c# .net com com-interop class-factory

我正在考虑在MkParseDisplayName/BindToObject manner中为托管类库实现自定义COM激活逻辑。

这样,从VB创建对象可能如下所示:

obj = GetObject("clsid:12341234-1234-1234-1234-123412341234:!UniqueObjectId")

对于进程外服务器(使用CoRegisterClassObject),这不会有问题。但是,对于进程内服务器,我需要更改DllGetClassObject的实现,mscoree.dll通常由IClassFactory提供。 这可能吗?

我看到的唯一其他选项是创建C# singleton object作为类工厂并在其上实现IParseDisplayName。从理论上讲,这样的单例也可以用CoRegisterClassObject(CLSCTX_INPROC_SERVER)注册一个自定义{{1}}类对象,但是单例本身也需要首先实例化。

0 个答案:

没有答案