是否有一些 MAPI 命名属性已知,因此在将 GetIDsFromNames 与 MAPI_CREATE 一起使用时始终返回相同的标记?

问题描述 投票:0回答:1

在我的 c# VSTO Outlook 项目中,我使用 GetNamesFromIDs 从一条消息中获取属性名称,然后使用 GetIDsFromNames 将其添加到第二条消息,并设置

MAPI_CREATE
标志,以便添加该属性。然后我添加该值。

我对 GetIDsFromNames 的理解是,当它设置“新”属性时,就会生成一个新的唯一标签。这样做是为了标签不会冲突。

  1. 是否可以在新创建的消息上使用 GetIDsFromNames 设置命名属性,MAPI 会为其提供与之前消息相同的标签编号?
  2. 我是否正确,GetNamesFromIDs 接受并且 GetIDsFromNames 仅返回高 2 字节的属性 id,并且要使用从 GetIDsFromNames 获得的内容,我需要添加回类型?

No.2 我似乎无法在任何地方阅读。

outlook vsto mapi
1个回答
0
投票
  1. 是的,这正是它的工作原理 - 一旦创建了映射,就在父消息存储的生命周期内保持不变。

  2. 是的,您始终需要设置类型。请记住,一旦将某个属性用于特定类型(即用于设置属性)(除非它是 PT_STRING8 与 PT_UNICODE),您将无法将该属性用于其他类型。

© www.soinside.com 2019 - 2024. All rights reserved.