MAPI 文件夹

适用于:Outlook 2013 | Outlook 2016

文件夹是用作邮件组织基本单元的 MAPI 对象。 文件夹按层次结构排列,可以包含邮件和其他文件夹。 使用文件夹可以更轻松地查找和使用邮件。

文件夹实现 IMAPIFolder 接口,该接口通过 IMAPIContainerIMAPIProp 接口间接继承自 IUnknown 接口。 客户端使用 IMAPIFolder 创建、复制和删除邮件和文件夹,检索和设置邮件状态,以及设置或清除邮件的读取标志。 尽管需要消息存储提供程序才能支持 IMAPIFolder 中的所有方法,但某些方法引入了消息存储提供程序可能想要避免的复杂性级别。 MAPI 通过在 IMAPISupport 接口中实现一些更复杂的文件夹功能来保存消息存储提供程序。 例如,消息存储提供程序可以调用支持对象中的复制方法并获取相同的结果,而不是实现自己的复制方法。

有三种类型的文件夹:

  • 根文件夹。

  • 泛型文件夹。

  • 搜索文件夹。

每个邮件存储区至少有一个根文件夹。 根文件夹显示在层次结构的顶部,并包含邮件和其他文件夹。 无法移动、复制、重命名或删除根文件夹。 每个邮件存储区只有一个根文件夹。

大多数其他文件夹都是泛型文件夹。 与根文件夹一样,泛型文件夹包含邮件和其他文件夹。 与根文件夹不同,可以移动、复制、重命名和删除根文件夹。 可以在根文件夹或其他泛型文件夹中创建泛型文件夹。 当客户端在另一个文件夹中创建泛型文件夹时,新文件夹称为子文件夹或子文件夹。 放置新文件夹的文件夹称为新文件夹的父文件夹。 具有相同父文件夹的泛型文件夹称为同级文件夹。 同级和非同级文件夹可能具有唯一名称,也可能不具有唯一名称,具体取决于消息存储提供程序。 当客户端尝试在同一父级中创建两个具有相同名称的文件夹时,要求同级文件夹具有唯一名称的消息存储提供程序返回错误值MAPI_E_COLLISION。

搜索文件夹包含与一组预定义条件匹配的邮件的链接。 由于搜索文件夹包含链接而不是实际邮件,因此它们实际上是只读的。 它们不能包含其他文件夹,也不能将邮件或文件夹移动或复制到其中。 它们不能在其中创建新消息;和 它们本身无法移动、复制或重命名。 从搜索文件夹中删除邮件时,实际上会从包含该邮件的文件夹中删除该邮件。

文件夹类型存储在 PR_FOLDER_TYPE (PidTagFolderType) 属性中。 每个文件夹的此属性设置为FOLDER_GENERIC、FOLDER_ROOT或FOLDER_SEARCH,具体取决于其类型。

每个文件夹都有一个条目标识符和一个记录键。 客户端和服务提供商使用入口标识符 (PR_ENTRYID (PidTagEntryId) )打开文件夹。 记录键 (PR_RECORD_KEY (PidTagRecordKey) )是一个二进制值,用于将文件夹与其他文件夹进行比较。

文件夹具有用于标识相关文件夹和邮件存储的其他属性。 以下属性是必需的:

某些文件夹支持 PR_ACCESS (PidTagAccess) 属性,该属性描述用户可以执行的操作类型。 例如, PR_ACCESS 的有效设置之一是MAPI_ACCESS_DELETE,这表示可以删除文件夹。 另一个MAPI_ACCESS_MODIFY设置指示文件夹应可修改。

有关所需文件夹属性的完整列表,请参阅 IMAPIFolder 接口。

另请参阅

MAPI 应用程序开发