我得到它有三种方法在COM中实现编组:
现在组件消费者(用户)如何选择使用哪一个?它是自己决定并使用首选方式还是调用一些内置函数并解决了它的问题?
我目前遇到以下情况:我的组件实现了一个自定义接口ICustomInterface,该接口也是由另一家公司的组件实现的.我的组件没有typelib,也没有实现IMarshal.系统注册表包含HKCR\Interface {uuidof(ICustomInterface)}\ProxyStubClsid32密钥,其中包含代理/存根的GUID,可以跟踪到该其他公司提供的库.
现在,当我的组件使用者初始化我的组件时,它调用QueryInterface()从我的组件请求IMarshal,当返回E_NOINTERFACE时,它什么都不做.为什么这样 - 为什么不从其他公司的代理/存根库启动?
我正在学习如何实现进程外COM服务器,并且遇到了本文。
我可以构建它,并且它运行良好,但是代理/存根DLL在哪里?我所看到的只是IDL文件,在构建过程中会从该文件中生成代理/存根代码。但是DLL是如何构建的,它在哪里?