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

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

Utlitmately这个接口将从VB6代码中消耗掉,因此它必须是[in]或[in,out]但我确实需要知道我使用的IDL中是否: -

[in] IMessage pmsg* 

OR

[in, out] IMessage pmsg**
有帮助吗?

解决方案

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top