ENTRYID

适用于:Outlook 2013 | Outlook 2016

包含 MAPI 对象的条目标识符。

属性
标头文件:
Mapidefs.h
相关宏:
CbNewENTRYIDSizedENTRYID
typedef struct
{
  BYTE abFlags[4];
  BYTE ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;

Members

abFlags

提供描述对象的信息的标志的位掩码。 提供程序只能设置标志的第一个字节 abFlags[0];其他三个是保留的。 不得为永久条目标识符设置这些标志:它们仅为短期条目标识符设置。 对于客户端,此结构是只读的。 可以在 abFlags[0]中设置以下标志:

MAPI_NOTRECIP

条目标识符不能用作邮件的收件人。

MAPI_NOTRESERVED

其他用户无法访问条目标识符。

MAPI_NOW

其他时间无法使用条目标识符。

MAPI_SHORTTERM

条目标识符是短期的。 除非启用了条目标识符的其他用法,否则必须设置此字节中的所有其他值。

MAPI_THISSESSION

条目标识符不能用于其他会话。

Ab

指示服务提供程序使用的二进制数据的数组。 客户端应用程序不能使用此数组。

备注

ENTRYID 结构由消息存储和通讯簿提供程序用于为其对象构造唯一标识符。 条目标识符用于标识以下类型的对象:

  • 消息存储

  • Folders

  • 消息

  • 通讯簿容器

  • 通讯组列表

  • 消息传送用户

  • 状态对象

  • 配置文件部分

每个提供程序对 ENTRYID 结构使用一种格式,该格式对该提供程序有意义。

不能直接对条目标识符进行比较,因为一个对象可以由两个不同的二进制值表示。 若要确定两个条目标识符是否表示同一对象,请调用 IMAPISession::CompareEntryIDs 方法。

当客户端调用对象的 IMAPIProp::GetProps 方法来检索其条目标识符时,该对象将返回最永久形式的条目标识符。 客户端可以通过检查 abFlags 成员的第一个字节中是否未设置任何标志来验证条目标识符是否长期。

当客户端通过表中的列访问条目标识符时,此条目标识符很可能是短期的,而不是长期的。 短期条目标识符只能用于在当前 MAPI 会话中打开其相应的对象。 客户端可以通过检查是否在 abFlags 成员的第一个字节中设置了所有标志来验证条目标识符是否是短期的。

某些条目标识符是短期的,但具有长期用途。 此类条目标识符将在其 abFlags 成员的第一个字节中设置一个或多个适当的标志。

ENTRYID 结构类似于 FLATENTRY 结构。 但是,存在一些差异:

客户端应始终传入自然对齐的条目标识符。 尽管提供程序应处理任意对齐的条目标识符,但客户端不应期望此行为。 未能将良好的对齐项标识符传递给方法可能会导致 RISC 处理器出现对齐错误。

自然对齐因子(通常为 8 个字节)是 CPU 支持的最大数据类型,通常与系统内存分配器使用的对齐因子相同。 自然对齐的内存地址允许 CPU 访问该地址支持的任何数据类型,而不会生成对齐错误。 对于 RISC CPU,大小为 N 字节的数据类型通常必须在 N 个字节的偶数倍上对齐,地址为 N 的偶数倍。

有关详细信息,请参阅 条目标识符

另请参阅

FLATENTRY

IMAPISupport::CompareEntryIDs

PidTagRecordKey 规范属性

MAPI 结构