protected override void ParserHeader(IStream propertyHeaderStream, ref int readCount) { Int64 value = propertyHeaderStream.ReadInt64(ref readCount); Int32 recipientCount = propertyHeaderStream.ReadInt32(ref readCount); Int32 attachmentCount = propertyHeaderStream.ReadInt32(ref readCount); recipientCount = propertyHeaderStream.ReadInt32(ref readCount); attachmentCount = propertyHeaderStream.ReadInt32(ref readCount); for (int i = 0; i < recipientCount; i++) { var recipientStruct = CreateRecipient(); recipientStruct.Parser(); } for (int i = 0; i < attachmentCount; i++) { var attachmentStruct = CreateAttachment(); attachmentStruct.Parser(); } }
protected override void ParserHeader(IStream propertyHeaderStream, ref int readCount) { base.ParserHeader(propertyHeaderStream, ref readCount); propertyHeaderStream.ReadInt64(ref readCount); }
protected virtual void ParserProperties(IStorage storage, IStream propertyHeaderStream, ref int readCount) { STATSTG stat; propertyHeaderStream.Stat(out stat, 1); int count = (int)stat.cbSize; while (readCount < count) { var tag = propertyHeaderStream.ReadInt32(ref readCount); var flag = propertyHeaderStream.ReadInt32(ref readCount); var value = propertyHeaderStream.ReadInt64(ref readCount); IPropValueForParser property = SpecialPropertyUtil.Instance.CreateNewPropValue(tag, value); property.Parse(Storage); Properties.AddProperty(property); } }