创建IDL以进行MAPI-MIME转换

时间:2020-03-06 14:26:20  来源:igfitidea点击:

我正在尝试为IConverterSession接口创建IDL,我对MIMETOMAPI方法的定义感到困惑。它将[LPMESSAGE pmsg]参数指定为[out],但注释指出其指向要加载的MAPI消息的指针。

我不清楚函数是否分配MAPI消息对象并设置指针,在这种情况下,它不应该是指向MESSAGE指针的指针吗?或者调用代码是否应该已经实例化了消息对象,在这种情况下为什么标记为[out]而不是[in]?

完全是从VB6代码中使用此接口,因此它必须是[in]或者[in,out],但我确实需要知道是否在我使用的IDL中:

[输入] IMessage pmsg *

或者

[输入,输出] IMessage pmsg **

解决方案

我认为在这种情况下,文档将参数标记为[out]时会产生误导。我们必须将有效的LPMESSAGE传递给该方法,这就是为什么不是双指针的原因。因此,我将在idl定义中使用[in]。