65.9K
CodeProject 正在变化。 阅读更多。
Home

使用扩展 MAPI 检索配置文件和服务存储

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (8投票s)

2004年7月7日

CPOL

3分钟阅读

viewsIcon

78509

downloadIcon

817

此应用程序用于检索配置文件名称和关联的消息存储。

引言

此代码用于检索现有的配置文件和关联的服务。此应用程序使用扩展 MAPI 来检索此信息。

我对因使用此代码而产生的任何支持或任何类型的问题概不负责。

总的来说,关于扩展 MAPI 的文章很少,这就是我发布这段代码的原因。我已经在 Win2000 和 Outlook XP 上测试过这段代码。此项目的用户界面不是很好。检索配置文件和服务后,此应用程序将显示一些消息框,仅此而已。这些消息框将显示配置文件名称和消息存储服务。我仍在开发此代码,并会努力使其更具吸引力。

我欢迎所有扩展 MAPI 开发者对这段代码发表评论

以下是一些详细信息

要处理扩展 MAPI,我们需要了解一些基本知识。在接下来的段落中,我将尝试解释这些基本知识。

MAPI 结构是一个复杂的结构,即使是基本实现也需要理解 C / C++。 MAPI 子系统公开了各种接口,我们可以使用这些接口与它进行交互。 IProfAdmin 是 MAPI 公开的接口之一。 本描述侧重于 IProfAdmin

首先,我们需要 “MAPIInitialize” 函数,它初始化 MAPI DLL 的全局数据并增加对 MAPI 子系统的引用。 初始化 MAPI 子系统后,我们需要控制配置文件才能使用它们。 要创建管理配置文件,我们需要声明一个 “LPPROFADMIN” 类型的变量,并使用 “MAPIAdminProfiles” 函数创建管理配置文件。

有了 Admin 配置文件后,我们就可以使用管理权限来处理配置文件。

作为基础,MAPI 公开了各种表,我们可以使用这些表检索 MAPI 数据。 对于配置文件,MAPI 公开了配置文件表。 几乎所有表都可以声明为 “LPMAPITABLE”。

数据以行和列的形式存储在表中。 同样,要访问数据,我们需要获取行集、单独的行,然后是实际的属性。

LPMAPITABLE 有一个 “GetRowCount” 函数,我们可以使用它来检索数据行的计数。 类似地,使用 “QueryRows” 函数可以检索行集。 在这里,行集变量应声明为 “LPSRowSet”。 LPSRowSet 是单个行的数组。

使用普通的 for / while / do while(无论哪个适用)循环,我们可以迭代所有行。 单个行应声明为 “LPSRow”。 每行都是属性的数组,每个属性都是 “LPSPropValue” 类型。 LPSPropValue 有两个成员,分别是属性标记和属性值。 属性标记是无符号长整型,值是联合。

请参阅 MAPI 文档以获取属性标记。 这些已经在 *MAPITags.h* 文件中定义,并且这些标记是自描述的。 例如,PR_DISPLAY_NAME

获得属性后,我们可以将所需的标记与检索到的标记进行比较,并从属性结构中获取属性值。

© . All rights reserved.