PidLidGlobalObjectId和PidLidCleanGlobalObjectId的PropertyName是什么?

时间:2015-08-03 15:03:01

标签: soap exchangewebservices mapi

通过跟踪和错误(以及Google),我设法从Exchange Server中检索一些会议扩展属性(在我的SOAP FindItem调用中):

<typ:AdditionalProperties>
  <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyId="3" PropertyType="Binary"/>
  <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyId="35" PropertyType="Binary"/>
</typ:AdditionalProperties>

我在[MS-OXPROPS](Exchange Server协议主属性列表)中查找了值3和35:
PidLidGlobalObjectId
PidLidCleanGlobalObjectId

但是我对这两个数值并不十分满意:没有注释代码是不可理解的(如果我输入错误值会怎么样?)。

这两个的PropertyNames是什么,以便我可以指定PropertyName而不是PropertyId

我尝试了这些没有成功(没有数据返回):

<typ:AdditionalProperties>
  <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="PidLidGlobalObjectId" PropertyType="Binary"/>
  <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="PidLidCleanGlobalObjectId" PropertyType="Binary"/>
</typ:AdditionalProperties>

<typ:AdditionalProperties>
  <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="GlobalObjectId" PropertyType="Binary"/>
  <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="CleanGlobalObjectId" PropertyType="Binary"/>
</typ:AdditionalProperties>

(注意:对于属性集,有Commonly used property sets的交叉引用,但我找不到这些集合中的属性名称的任何内容)

2 个答案:

答案 0 :(得分:2)

根据https://msdn.microsoft.com/en-us/library/office/cc815528.aspx那些甚至没有命名,所以也许你真的不能使用非数字标识符:

  

0x0001到0x7FFF范围内的属性称为标记属性。超过0x8000是所谓的命名属性的范围,或包含32位全局唯一标识符(GUID)以及Unicode字符串或数值的属性。客户端可以使用命名属性来自定义其属性集。

为什么不在代码中使用{{1}}值? 顺便说一句,MFCMAPI是一个很好的工具,可以在没有反复试验的情况下找到这些道具。

答案 1 :(得分:0)

属性名称为PidLidGlobalObjectId和PidLidCleanGlobalObjectId :-)。这些不是众所周知的属性,例如Subject。它们只是Outlook使用的几个名称属性。