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





3.00/5 (8投票s)
此应用程序用于检索配置文件名称和关联的消息存储。
引言
此代码用于检索现有的配置文件和关联的服务。此应用程序使用扩展 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
。
获得属性后,我们可以将所需的标记与检索到的标记进行比较,并从属性结构中获取属性值。