创建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]。