具有FindItem限制的calendarUID属性 [英] The calendarUID Property with FindItem Restriction

查看:100
本文介绍了具有FindItem限制的calendarUID属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很高兴看到SP1公开了属性 calendarUID ,因为它可以帮助我的应用确定两个推送通知何时进入两个单独的资源日历如果他们的UID匹配,他们是相同的会议。 (他们的 ItemId 将是不同的。)

但是,我刚刚发现我无法在限制中的"font-weight:bold"> IsEqualTo 比较。我收到了无效的限制错误。这是我设置比较的方式:


I was glad to see that SP1 exposed the property calendarUID, as it helps my app to determine that when two push notifications come in on two separate resource calendars that they are the same meeting if their UIDs match.  (Their ItemIds will be different.)

However, I've just discovered that I cannot use this property in an IsEqualTo comparison in a FindItem() Restriction.  I get an invalid restriction error.  This is how I set up the comparison:


IsEqualToType eqUID = TwoOperandExpressionType.MakeComparison< IsEqualToType>(
new PathToUnindexedFieldType(UnindexedFieldURIType.calendarUID),

RestrictionType Restriction = new RestrictionType();
Restriction.Item = eqUID;

我甚至尝试过使用Extended MAPI属性。花了一些时间,但我认为我找到了正确的一个:

PathToExtendedFieldType path = new PathToExtendedFieldType();
Guid mapiGUID = new Guid(" {6ED8DA90-450B-101B-98DA- 00AA003F1305}");
path.PropertySetId = mapiGUID.ToString(" D");
path.PropertyId = 0x80BB;
path.PropertyIdSpecified = true;
path.PropertyType = MapiPropertyTypeType。二进制;

IsEqualToType eqUID = TwoOperandExpressionType.MakeComparison< IsEqualToType>(
path, strMeetingID); //寻找准确的UID


这不会给我一个错误,但我从FindItem()中得不到任何项目。由于这个属性是SP1的新属性,它不在属性引用,[Sterling]中的附录C中,我不能确定它是否被禁止在限制中,如果不允许我是否可以通过使用MAPI解决它做法。 (我可能在上面的示例中选择了一些错误的值,因为如何将calendarUID转换为MAPI等效值并不明显。)

感谢任何意见,
     RestrictionType Restriction = new RestrictionType();
     Restriction.Item = eqUID;

I've even tried using the Extended MAPI property for this.  It took some time, but I think I found the right one:

     PathToExtendedFieldType path = new PathToExtendedFieldType();
     Guid mapiGUID = new Guid("{6ED8DA90-450B-101B-98DA-00AA003F1305}");
     path.PropertySetId                  = mapiGUID.ToString("D");
     path.PropertyId                     = 0x80BB;
     path.PropertyIdSpecified            = true;
     path.PropertyType                   = MapiPropertyTypeType.Binary;

     IsEqualToType eqUID = TwoOperandExpressionType.MakeComparison<IsEqualToType>(
                           path, strMeetingID);              // Looking for exact UID


This does not give me an error, but I get no items back from the FindItem().  Since this property is new with SP1, it is not in the Properties reference, Appendix C in [Sterling], I cannot be sure whether it is disallowed in a restriction or not, and if disallowed whether I can get around it by using the MAPI approach.  (I may have picked some wrong values in the above sample, as it was not obvious how to translate calendarUID into its MAPI equivalent.)

Thanks for any opinions,

推荐答案

我遇到了同样的问题。您找到了解决方案吗?

/Jörgen。


这篇关于具有FindItem限制的calendarUID属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆