예제 #1
0
        private void TranslatePtag(ref int ptag)
        {
            PropTag propTag = (PropTag)ptag;

            if (!propTag.IsNamedProperty())
            {
                return;
            }
            NamedPropMapper.Mapping mapping = this.sourceMapper.ById[propTag.Id()];
            if (mapping == null)
            {
                MrsTracer.Service.Warning("Proptag 0x{0:X} could not be mapped to a namedprop in the source mailbox, not translating.", new object[]
                {
                    propTag
                });
                return;
            }
            NamedPropMapper.Mapping mapping2 = this.targetMapper.ByNamedProp[mapping.NPData];
            if (mapping2 != null)
            {
                ptag = (int)PropTagHelper.PropTagFromIdAndType(mapping2.PropId, propTag.ValueType());
                return;
            }
            MrsTracer.Service.Warning("NamedProp {0} (source ptag 0x{1:X}) could not be mapped in the target mailbox, not translating.", new object[]
            {
                mapping.NPData,
                propTag
            });
        }
 private PropertyTagPropertyDefinition(string displayName, PropTag propertyTag, PropertyTagPropertyDefinition.PropTagKey key, PropertyFlags flags, bool isCustom, PropertyDefinitionConstraint[] constraints) : base(PropertyTypeSpecifier.PropertyTag, displayName, InternalSchema.ClrTypeFromPropTag(propertyTag), propertyTag.ValueType(), PropertyTagPropertyDefinition.CalculatePropertyTagPropertyFlags(propertyTag, flags), constraints)
 {
     if (propertyTag.IsNamedProperty() || !propertyTag.IsValid())
     {
         throw new ArgumentException("Invalid property tag", "propertyTag");
     }
     this.InternalKey = key;
     this.propertyTag = propertyTag;
 }
예제 #3
0
        private void EnumeratePtag(ref int ptag)
        {
            PropTag propTag = (PropTag)ptag;

            if (!propTag.IsNamedProperty())
            {
                return;
            }
            this.sourceMapper.ById.AddKey(propTag.Id());
        }