예제 #1
0
 internal StoreParticipantEntryId(ParticipantEntryId.WabEntryFlag flags, ParticipantEntryId.Reader reader)
 {
     EnumValidator.AssertValid <ParticipantEntryId.WabEntryFlag>(flags);
     this.isMapiPDL         = StoreParticipantEntryId.WabEntryFlagToMapiPDL(flags);
     this.emailAddressIndex = StoreParticipantEntryId.WabEntryFlagToEmailAddressIndex(flags);
     this.ltEntryId         = reader.ReadLTEntryId();
     this.useWabFormat      = true;
     reader.EnsureEnd();
 }
예제 #2
0
 private StoreParticipantEntryId(StoreObjectId itemId, bool isMapiPDL, EmailAddressIndex emailIndex, bool useWabFormat)
 {
     EnumValidator.AssertValid <EmailAddressIndex>(emailIndex);
     using (ParticipantEntryId.Reader reader = new ParticipantEntryId.Reader(itemId.ProviderLevelItemId))
     {
         this.ltEntryId = reader.ReadLTEntryId();
         reader.EnsureEnd();
     }
     this.isMapiPDL         = isMapiPDL;
     this.emailAddressIndex = emailIndex;
     this.useWabFormat      = useWabFormat;
 }
예제 #3
0
        internal StoreParticipantEntryId(ParticipantEntryId.Reader reader)
        {
            uint num = reader.ReadUInt32();

            if (num != 3U)
            {
                throw new NotSupportedException(ServerStrings.ExUnsupportedABProvider("OLABP", num.ToString()));
            }
            uint num2 = reader.ReadUInt32();

            this.isMapiPDL         = (num2 == 5U);
            this.emailAddressIndex = StoreParticipantEntryId.IndexToEmailAddressIndex(reader.ReadUInt32());
            if (reader.ReadUInt32() != 70U)
            {
                throw new NotSupportedException(ServerStrings.ExInvalidParticipantEntryId);
            }
            this.ltEntryId = reader.ReadLTEntryId();
            if (reader.BytesRemaining != 3)
            {
                reader.EnsureEnd();
            }
        }