/// <summary> /// Parse from a stream. /// </summary> /// <param name="stream">A stream contains XID.</param> public void Parse(FastTransferStream stream) { this.namespaceGuid = stream.ReadGuid(); this.localId = stream.ReadBlock((int)this.length - 16); }
/// <summary> /// Parse the ROP response buffer. /// </summary> /// <param name="ropBytes">ROPs bytes in response.</param> /// <param name="startIndex">The start index of this ROP.</param> /// <returns>The size of response buffer structure.</returns> public override void Parse(FastTransferStream stream) { this.DatabaseGuid = stream.ReadGuid(); this.GlobalCounter = BitConverter.ToUInt64(stream.ReadBlock(6), 0); this.pad = stream.ReadUInt16(); }
/// <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 from a stream. /// </summary> /// <param name="stream">A stream contains IDSET_REPLGUID.</param> public void Parse(FastTransferStream stream) { this.REPLGUID = stream.ReadGuid(); this.GLOBSET = new GLOBSET(); this.GLOBSET.Parse(stream); }
/// <summary> /// Parse next object from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Parse(FastTransferStream stream) { base.Parse(stream); PropertyDataType type = (PropertyDataType)this.PropType; switch (type) { case PropertyDataType.PtypInteger16: this.FixedValue = stream.ReadInt16(); break; case PropertyDataType.PtypInteger32: if (this.PropInfo.PropID == 0x67A4) { CN tmpCN = new CN(); tmpCN.Parse(stream); this.FixedValue = tmpCN; } this.FixedValue = stream.ReadInt32(); break; case PropertyDataType.PtypFloating32: this.FixedValue = stream.ReadFloating32(); break; case PropertyDataType.PtypFloating64: this.FixedValue = stream.ReadFloating64(); break; case PropertyDataType.PtypCurrency: this.FixedValue = stream.ReadCurrency(); break; case PropertyDataType.PtypFloatingTime: this.FixedValue = stream.ReadFloatingTime(); break; case PropertyDataType.PtypBoolean: this.FixedValue = stream.ReadBoolean(); break; case PropertyDataType.PtypInteger64: if (base.PropInfo.PropID == 0x6714) { CN tmpCN = new CN(); tmpCN.Parse(stream); this.FixedValue = tmpCN; } this.FixedValue = stream.ReadInt64(); break; case PropertyDataType.PtypTime: this.FixedValue = stream.ReadTime(); break; case PropertyDataType.PtypGuid: this.FixedValue = stream.ReadGuid(); break; } }