Vb6 为MAPI-MIME转换创建IDL

Vb6 为MAPI-MIME转换创建IDL,vb6,outlook,mime,mapi,idl,Vb6,Outlook,Mime,Mapi,Idl,我试图为IConverterSession接口创建IDL,但我对该方法的定义感到困惑。它将LPMESSAGE pmsg参数指定为[out],但注释将其指定为指向要加载的MAPI消息的指针 我不清楚函数是否分配MAPI消息对象并设置指针,在这种情况下,它不应该是指向消息指针的指针吗?或者调用代码预期已经实例化了消息对象,在这种情况下,为什么标记为[out]而不是[in] 实际上,该接口将从VB6代码中使用,因此它必须为[in]或[in,out],但我需要知道在我使用的IDL中:- [in] IMe

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

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

实际上,该接口将从VB6代码中使用,因此它必须为[in]或[in,out],但我需要知道在我使用的IDL中:-

[in] IMessage pmsg* 


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

请参阅MFCMapi源代码中的MAPIMime.h(http://mfcmapi.codeplex.com/)作为最终来源。

可以在此处找到正确的文档:。调用方必须提供一条消息供API填写,因此对象必须进入

现在已经移动到,看起来他们正在实施修复:和
[in, out] IMessage pmsg**