【问题标题】:Creating IDL for MAPI-MIME conversion为 MAPI-MIME 转换创建 IDL
【发布时间】:2010-09-11 06:40:29
【问题描述】:

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

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

这个接口实际上是从 VB6 代码中使用的,所以它必须是 [in] 或 [in, out] 但我确实需要知道是否在我使用的 IDL 中:-

[in] IMessage pmsg* 

[in, out] IMessage pmsg**

【问题讨论】:

    标签: vb6 outlook mime mapi idl


    【解决方案1】:

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

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      可以在此处找到正确的文档:https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/iconvertersession-mimetomapi。调用者必须提供一条消息供 API 填写,因此对象必须进入 [in]。

      【讨论】:

        猜你喜欢
        • 2012-11-23
        • 2017-05-23
        • 2023-03-13
        • 2010-11-21
        • 2023-02-10
        • 2010-11-03
        • 2011-09-07
        • 2015-09-25
        • 1970-01-01
        相关资源
        最近更新 更多