没有代理/存根DLL的进程外COM服务器?

Dab*_*ler 2 com winapi rpc out-of-process

我正在学习如何实现进程外COM服务器,并且遇到了本文

我可以构建它,并且它运行良好,但是代理/存根DLL在哪里?我所看到的只是IDL文件,在构建过程中会从该文件中生成代理/存根代码。但是DLL是如何构建的,它在哪里?

Ste*_*eve 5

简短的答案是所有接口都标记为“ oleautomation”,因此oleaut32.dll执行封送处理,因为COM知道如何封送接口中使用的所有类型。

如果缺少“ oleautomation”,或者指定了默认情况下COM不知道如何进行封送处理的类型(请参见此处的列表),则需要使用非默认封送处理程序及其存根。