创建用于MAPI-MIME转换的IDL
问题描述:
我正在尝试为IConverterSession接口创建IDL,并且我对MIMETOMAPI方法的定义感到困惑。它将LPMESSAGE pmsg
参数指定为[输出],但注释声明其指向要加载的MAPI消息的指针。创建用于MAPI-MIME转换的IDL
它不清楚我的函数是否分配MAPI消息对象并设置指针,在这种情况下它不应该是指向MESSAGE指针的指针? OR是调用的代码,预期已经实例化消息对象,在这种情况下,为什么标记为[out]而不是[in]?
Utlitmately这个接口是从VB6代码所消耗,因此将不得不为[中]或[IN,OUT]但我需要知道是否在该IDL我用: -
[在]即时聊天PMSG *
OR
[IN,OUT]即时聊天PMSG **
答
我认为在这种情况下,文档是误导,当它标志着参数作为[OUT]。您必须将有效的LPMESSAGE传递给该方法,这就是为什么不是双指针。所以我会在你的idl定义中使用[in]。
答
请参阅MFCMapi source(http://mfcmapi.codeplex.com/)中的MAPIMime.h作为权威来源。