你目前正处于脱机状态,正在等待 Internet 重新连接

MFCMAPI 演示 MAPI 客户端代码

本文的发布号曾为 CHS291794
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
概要
Microsoft 基础类 MAPI (MFCMAPI) 示例演示了各种扩展 MAPI 编码技术。
更多信息
MFCMAPI 开始是作为一个学习项目,用于查看使用 MAPI 可以进行哪些操作,随着时间的推移,该学习项目已经发展成为一个相当于 Mdbvu32.exe 实用工具的 MAPI 示例客户端。

MFCMAPI 用户界面能够显示任何消息存储中的所有文件夹和子文件夹;还能够显示在配置文件中加载的所有通讯簿。

MFCMAPI 是一个 Microsoft Visual C++ Microsoft 基础类 (MFC) 项目,它被设计为一系列 MFC 对话框,用于实现左窗格中的目录层次结构和右窗格中的属性列表。每个对话框都有许多可作用于活动项目的菜单项,这包括一个可用于承载测试代码的空测试函数。有关这些对话框及其对应的类的详细信息,请参见该项目附带的 Readme.txt 文件。

MFCMAPI 可用于查看和修改可通过 MAPI 访问的任何项目的属性。可将这些属性保存到磁盘中以进行更高级的操作,如“之前与之后”比较。可以从 Microsoft 下载中心下载以下文件:
发布日期:2005 年 2 月 14 日

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。可以从 Microsoft 下载中心下载以下文件:
发布日期:2005 年 3 月 7 日

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。

通用 MAPI 函数

以下多数函数均包含在 MAPIFunctions.cpp 文件中:
  • AddTestAddress - 将硬编码的一次性地址添加到消息中。
  • ConcatSPropTagArrays - 提取两个 SPropTagArrays 然后对其进行合并。
  • CopySBinary - 将一个 SBinary 复制到另一个以进行内存管理。
  • CopyLargeNamedPropertyToDebugOutput - 演示如何使用 IStream 读取一个长名称的 MAPI 属性。
  • CopyBodyToLargeNamedProperty - 演示如何将 PR_BODY 作为源以写入长名称的 MAPI 属性。
  • DeleteMessagePermanently - 使用 DeleteMessages 函数删除消息。
  • DeleteToDeletedItems - 使用 CopyMessages 将消息移入 Deleted Items 文件夹。
  • FindPropInPropTagArray - 搜索 SPropTagArray 的特定属性。
  • LoadFromMSG - 将 .msg 文件加载到 IMessage 中。
  • ManualResolve - 手动解析地址。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    266351如何使用 MAPI 手动解析通讯簿条目
  • OpenDefaultMessageStore - 在 IMAPISession 中查找并打开默认的消息存储。
  • OpenMessageModal - 使用 PrepareFormShowForm 来显示消息。
  • OpenOtherUsersMailbox - 使用 HrMailboxLogon 来打开邮箱。
  • OpenPublicMessageStore - 在 IMAPISession 中查找并打开公用消息存储。
  • SaveToMSG - 将 IMessage 保存到 .msg 文件中。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    171907INFO:将消息保存到 MSG 复合文件中
  • WriteAttachmentToFile - 将附件保存到文件中。

IMAPIAdviseSink 实现

IMAPIAdviseSink 示例包含 IMAPIAdviseSink 接口的两个实现,一个用于简单的新邮件通知,另一个用于更复杂的表通知。

注意:MFCMAPI 中的目录层次结构视图不能利用通知功能。对于大多数使用目录层次结构视图的对话框,在操作菜单上有一个刷新视图菜单命令。

MAPI 窗体查看器实现

MAPI 窗体查看器示例包含一个用于实现 IMAPIMessageSiteIMAPIViewContextIMAPIViewAdviseSink 接口的类。 这些接口共同促成 MAPI 窗体查看器的实现。使用窗体查看器的代码在 MAPIFunctions.cpp 文件包含的 OpenMessageNonModal 函数中。

有关 MAPI 窗体查看器的另一个实现,请参见下面的文章:
230770 示例:FrmVwr.exe 扩展 MAPI 窗体查看器
Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。
MFCMAPI
属性

文章 ID:291794 - 上次审阅时间:12/23/2005 03:29:58 - 修订版本: 4.2

Microsoft Messaging Application Programming Interface

  • kbdownload kbfile kbinfo kbmsg KB291794
反馈