3

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

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

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

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

我看到的唯一其他选择是创建一个C# 单例对象作为类工厂并在其上实现IParseDisplayName。理论上,这样的单例也可以注册一个自定义IClassFactory类对象CoRegisterClassObject(CLSCTX_INPROC_SERVER),但无论如何,单例本身需要先实例化。

4

0 回答 0