【问题标题】:How do I implement marshalling in a VC++ ATL COM server?如何在 VC++ ATL COM 服务器中实现编组?
【发布时间】:2010-12-15 11:21:46
【问题描述】:

在实现我自己的 IFilter 时,我发现很可能一些消费者需要从中进行编组。那就是他们 QueryInterface() 来自我的对象的IMarshal 接口。

不能使用来自 MIDL 的代理/存根 - MIDL 不会编译 filter.idl 文件 - 后者使用自定义结构,而 MIDL 不知道如何处理它们。所以看起来我需要自己实现编组。​​

在哪里可以找到有关如何实施编组的指南和示例?

【问题讨论】:

  • IDL 语言确实具有描述自定义结构的功能,因此可以对它们进行编组。在开始实施我们的编组之前,您应该确认您无法在 IDL 中描述这些自定义结构。
  • 我仔细看了一遍。事实证明,问题是实现 typelib 编组的 OLE 编组器不能与结构一起使用。所以我至少需要代理/存根编组。

标签: windows com marshalling com-interop atl


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2010-12-17
    • 2011-11-10
    • 2013-02-05
    • 1970-01-01
    • 2012-05-31
    • 2013-03-28
    • 2011-06-23
    • 1970-01-01
    • 2010-12-06
    相关资源
    最近更新 更多