MAPI 条目标识符

适用于:Outlook 2013 | Outlook 2016

条目标识符是存储在 ENTRYID 结构中的二进制数据片段,用于唯一标识和打开 MAPI 对象。 大多数 MAPI 对象都具有条目标识符。 对象的条目标识符类似于文件的文件名。 但是,它们不可传输,并且不能在它们源自的系统以外的其他系统上使用。

条目标识符

消息存储提供程序将条目标识符分配给消息存储区、文件夹和邮件;通讯簿提供商将其分配给通讯簿容器、通讯组列表和消息用户。 条目标识符还用于打开由表中的行表示的对象,例如状态表中的状态对象。 对象将其条目标识符存储在其 PR_ENTRYID (PidTagEntryId) 属性中。

服务提供商创建、分配和检查条目标识符,而客户端应用程序仅将它们用作打开对象的工具。 对于客户端,条目标识符是二进制数据的不透明部分,与基础消息传送系统无关。

客户端调用对象的 IMAPIProp::GetProps 方法来检索其 PR_ENTRYID 属性或表的 IMAPITable::QueryColumns 方法以检索保存 PR_ENTRYID 属性的列。

条目标识符作为参数传递给 OpenEntryCompareEntryIDs 方法。 多个 MAPI 对象实现 OpenEntryCompareEntryIDs 方法。 使用 OpenEntry,客户端可以打开对象。 使用 CompareEntryID,客户端可以比较两个条目标识符,以确定它们是否引用同一对象。 由于条目标识符不一定是二进制可比较,因此客户端必须通过 CompareEntryIDs 方法对其进行比较。

客户端在对服务提供商的调用中应始终传递自然对齐的入口标识符,因为尽管服务提供商应处理任意对齐的条目标识符,但情况并非总是如此。 自然对齐的内存地址使计算机能够访问该地址支持的任何数据类型,而不会生成对齐错误。 自然对齐因子通常是系统内存分配器使用的相同对齐因子,通常为 8 个字节。

条目标识符有两种类型:短期和长期。 短期条目标识符的构造速度更快,但其唯一性仅在当前工作站上的当前会话的生命周期内得到保证。 长期条目标识符的寿命更长。 短期条目标识符主要用于表中的行和对话框中的条目,而长期条目标识符用于许多对象,如邮件、文件夹和通讯组列表。

另请参阅

MAPI 应用程序开发