我想我知道答案了,库应用程序的InprocServer32注册表项被设为mtxex.dll,而不是组件的DLL本身,这样mtxex.dll就实现了interception,我想在COM+中应该也有这么个DLL,它是COM+ runtime的一部分。

解决方案 »

  1.   

    感谢您使用微软产品。
    dllhost.exe只是个系统提供的surrogate process,并不是com+ runtime,你也可以自己写个surrogate,参见ISurrogate接口; 在com+中,库应用程序是在直接调用方的进程中运行的,所以直接调用方和库应用程序必须在同一台机器上。COM+并不象MTS那样去改inprocServer32注册表项来装入自己的runtime。微软亚洲技术中心 VC技术支持本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款 (http://www.csdn.net/microsoft/terms.shtm)。