关于 Outlook 使用的命名属性

适用于:Outlook 2013 | Outlook 2016

MAPI 提供将名称分配给某些特定属性、将这些名称映射到唯一标识符以及使这个名称到标识符的映射跨会话保持不变的工具。 命名属性由名称和属性集的全局唯一标识符 (GUID) 标识。 名称可以是数字或字符串。 对于 Microsoft Outlook 2013 或 Microsoft Outlook 2010,属性集通常是由 Outlook 2013 或 Outlook 2010 定义的命名空间,如 PSETID_Appointment

命名属性通过使用 IMAPIProp::GetIDsFromNames 函数和 IMAPIProp::GetNamesFromIDs 函数进行操作。 将名称和属性集 GUID 传递给 IMAPIProp::GetIDsFromNames 函数以获取对当前 MAPI 会话有效的属性标识符。 由于此属性标识符可能因计算机而异,因此访问命名属性的唯一一致方法是知道其名称和属性集 GUID。 标识符的范围始终位于 0x8000 到 0xFFFE 之间。

实现 IMAPIProp: IUnknown 界面的任何对象可支持命名属性。 具体来说,MAPI 服务提供程序或 MAPI 客户端必须实现 IMAPIProp::GetProps 以获取命名属性的值。 不支持设置 Outlook 2013 或 Outlook 2010 使用的命名属性,因为存在损坏与其他 MAPI 提供程序或客户端共享的数据的风险。

Outlook 2013 和 Outlook 2010 使用 MAPI 命名属性实现其许多功能,例如附件安全性和会议反建议。 在此基础数据之上,Outlook 2013 和 Outlook 2010 会公开这些属性中的某些属性作为 Outlook 2013 和 Outlook 2010 对象模型中的项属性。 例如,对象模型中 ContactItem 对象的 Email1Address 属性与 PSETID_Address 命名空间中的命名 PidLidEmail1EmailAddress 规范属性对应。 但一般情况下,由于兼容性和数据完整性问题,Outlook 2013 和 Outlook 2010 使用的许多 MAPI 属性不会在对象模型中公开。

此参考描述了下面列出的许多命名属性。

PSETID_Address 命名空间中的命名属性如下:

PSETID_Appointment 命名空间中的命名属性如下:

PSETID_Common 命名空间中的命名属性如下:

PSETID_Meeting 命名空间中的命名属性如下:

PSETID_Task 命名空间中的命名属性如下:

PS_INTERNET_HEADERS 命名空间中的命名属性如下:

PSETID_Log 命名空间中的命名属性如下:

PS_PUBLIC_STRINGS 命名空间中的命名属性如下:

另请参阅

MAPI 常量

确定 Outlook 是否仅下载邮件头

获取联系人项的电子邮件地址

删除随邮件一起保存的自定义表单定义