/// <summary> /// Parse from a stream. /// </summary> /// <param name="stream">A stream contains PropertyGroupInfo.</param> public void Parse(FastTransferStream stream) { this.GroupId = stream.ReadUInt32(); this.Reserved = stream.ReadUInt32(); this.GroupCount = stream.ReadUInt32(); this.Groups = new PropertyGroup[this.GroupCount]; for (int i = 0; i < this.GroupCount; i++) { PropertyGroup tmpPropertyGroup = new PropertyGroup(); tmpPropertyGroup.Parse(stream); Groups[i] = tmpPropertyGroup; } }
/// <summary> /// Parse fields from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Parse(FastTransferStream stream) { if (stream.ReadMarker() == Markers.IncrSyncProgressMode) { this.StartMarker = Markers.IncrSyncProgressMode; this.propertiesTag = stream.ReadUInt32(); this.propertiesLength = stream.ReadUInt32(); ProgressInformation tmpProgressInfo = new ProgressInformation(); tmpProgressInfo.Parse(stream); this.PropList = tmpProgressInfo; } }
/// <summary> /// Parse from a stream. /// </summary> /// <param name="stream">A stream contains PropertyGroup.</param> public void Parse(FastTransferStream stream) { this.PropertyTagCount = stream.ReadUInt32(); this.PropertyTags = new PropertyTagWithGroupPropertyName[this.PropertyTagCount]; for (int i = 0; i < this.PropertyTagCount; i++) { PropertyTagWithGroupPropertyName tmpName = new PropertyTagWithGroupPropertyName(); tmpName.Parse(stream); PropertyTags[i] = tmpName; } }
/// <summary> /// Parse from a stream. /// </summary> /// <param name="stream">A stream contains ProgressInformation.</param> public void Parse(FastTransferStream stream) { this.Version = stream.ReadUInt16(); this.Padding1 = stream.ReadUInt16(); this.FAIMessageCount = stream.ReadUInt32(); this.FAIMessageTotalSize = stream.ReadUInt64(); this.NormalMessageCount = stream.ReadUInt32(); this.Padding2 = stream.ReadUInt32(); this.NormalMessageTotalSize = stream.ReadUInt64(); }
/// <summary> /// Parse MetaPropValue from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Parse(FastTransferStream stream) { this.PropType = stream.ReadUInt16(); this.PropID = stream.ReadUInt16(); if (PropID != 0x4011 && PropID != 0x4008) { this.PropValue = stream.ReadUInt32(); } else { if (PropID != 0x4011) { FolderReplicaInfo FolderReplicaInfo = new FolderReplicaInfo(); FolderReplicaInfo.Parse(stream); this.PropValue = FolderReplicaInfo; } else { PtypString8 pstring8 = new PtypString8(); pstring8.Parse(stream); this.PropValue = pstring8; } } }
/// <summary> /// Parse from a stream. /// </summary> /// <param name="stream">A stream contains GroupPropertyName.</param> public void Parse(FastTransferStream stream) { this.Guid = stream.ReadGuid(); this.Kind = stream.ReadUInt32(); if (this.Kind == 0x00000000) { this.Lid = stream.ReadUInt32(); } else if (this.Kind == 0x00000001) { this.NameSize = stream.ReadUInt32(); this.Name = new MAPIString(Encoding.Unicode, "", (int)this.NameSize / 2); this.Name.Parse(stream); } }
/// <summary> /// Parse fields from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Parse(FastTransferStream stream) { if (stream.ReadMarker() == Markers.IncrSyncGroupInfo) { this.StartMarker = Markers.IncrSyncGroupInfo; this.propertiesTag = stream.ReadUInt32(); this.propertiesLength = stream.ReadUInt32(); PropertyGroupInfo tmpGroupInfo = new PropertyGroupInfo(); tmpGroupInfo.Parse(stream); this.PropList = tmpGroupInfo; } }
/// <summary> /// Parse from a stream. /// </summary> /// <param name="stream">A stream contains FolderReplicaInfo.</param> public void Parse(FastTransferStream stream) { this.Flags = stream.ReadUInt32(); this.Depth = stream.ReadUInt32(); this.FolderLongTermId = new LongTermId(stream); this.ServerDNCount = stream.ReadUInt32(); this.CheapServerDNCount = stream.ReadUInt32(); this.ServerDNArray = new MAPIString[this.ServerDNCount]; for (int i = 0; i < this.ServerDNCount; i++) { this.ServerDNArray[i] = new MAPIString(Encoding.ASCII); this.ServerDNArray[i].Parse(stream); } }