/// <summary> /// Parse the SeekEntriesResponse structure. /// </summary> /// <param name="s">An stream containing SeekEntriesResponse structure.</param> public override void Parse(Stream s) { base.Parse(s); List<MAPIString> metaTags = new List<MAPIString>(); List<MAPIString> additionalHeaders = new List<MAPIString>(); ParseMAPIMethod parseMAPIMethod = new ParseMAPIMethod(); parseMAPIMethod.ParseAddtionlHeader(s, out metaTags, out additionalHeaders); this.MetaTags = metaTags.ToArray(); this.AdditionalHeaders = additionalHeaders.ToArray(); this.StatusCode = ReadUint(); if (this.StatusCode == 0) { this.ErrorCode = ReadUint(); this.HasState = ReadBoolean(); if (this.HasState) { this.State = new STAT(); this.State.Parse(s); this.HasColsAndRows = ReadBoolean(); if (this.HasColsAndRows) { this.Columns = new LargePropertyTagArray(); this.Columns.Parse(s); this.RowCount = ReadUint(); List<AddressBookPropertyRow> addressBookPropRow = new List<AddressBookPropertyRow>(); for (int i = 0; i < this.RowCount; i++) { AddressBookPropertyRow addressPropRow = new AddressBookPropertyRow(this.Columns); addressPropRow.Parse(s); addressBookPropRow.Add(addressPropRow); } this.RowData = addressBookPropRow.ToArray(); } } } this.AuxiliaryBufferSize = ReadUint(); if (this.AuxiliaryBufferSize > 0) { this.AuxiliaryBuffer = new ExtendedBuffer(); this.AuxiliaryBuffer.Parse(s); } }
/// <summary> /// Parse the ResolveNamesResponse structure. /// </summary> /// <param name="s">An stream containing ResolveNamesResponse structure.</param> public override void Parse(Stream s) { base.Parse(s); List<MAPIString> metaTags = new List<MAPIString>(); List<MAPIString> additionalHeaders = new List<MAPIString>(); ParseMAPIMethod parseMAPIMethod = new ParseMAPIMethod(); parseMAPIMethod.ParseAddtionlHeader(s, out metaTags, out additionalHeaders); this.MetaTags = metaTags.ToArray(); this.AdditionalHeaders = additionalHeaders.ToArray(); this.StatusCode = ReadUint(); if (this.StatusCode == 0) { this.ErrorCode = ReadUint(); this.CodePage = ReadUint(); this.HasMinimalIds = ReadBoolean(); if (this.HasMinimalIds) { this.MinimalIdCount = ReadUint(); List<MinimalEntryID> miniEIDList = new List<MinimalEntryID>(); for (int i = 0; i < this.MinimalIdCount; i++) { MinimalEntryID miniEID = new MinimalEntryID(); miniEID.Parse(s); miniEIDList.Add(miniEID); } this.MinimalIds = miniEIDList.ToArray(); } this.HasRowsAndCols = ReadBoolean(); if (this.HasRowsAndCols) { this.PropertyTags = new LargePropertyTagArray(); this.PropertyTags.Parse(s); this.RowCount = ReadUint(); List<AddressBookPropertyRow> addressPRList = new List<AddressBookPropertyRow>(); for (int i = 0; i < this.RowCount; i++) { AddressBookPropertyRow addressPR = new AddressBookPropertyRow(this.PropertyTags); addressPR.Parse(s); addressPRList.Add(addressPR); } this.RowData = addressPRList.ToArray(); } } this.AuxiliaryBufferSize = ReadUint(); if (this.AuxiliaryBufferSize > 0) { this.AuxiliaryBuffer = new ExtendedBuffer(); this.AuxiliaryBuffer.Parse(s); } }