/// <summary> /// Reads from the <see cref="stream" /> /// </summary> /// <param name="stream"></param> public void Read(Stream stream) { var streamRw = new StreamRW(stream); EntryName = streamRw.ReadBytes(64); NameLength = streamRw.ReadUInt16(); StgType = (StgType)streamRw.ReadByte(); streamRw.ReadByte(); LeftSibling = streamRw.ReadInt32(); RightSibling = streamRw.ReadInt32(); Child = streamRw.ReadInt32(); if (StgType == StgType.StgInvalid) { LeftSibling = Nostream; RightSibling = Nostream; Child = Nostream; } StorageCLSID = new Guid(streamRw.ReadBytes(16)); StateBits = streamRw.ReadInt32(); CreationDate = streamRw.ReadBytes(8); ModifyDate = streamRw.ReadBytes(8); StartSector = streamRw.ReadInt32(); Size = streamRw.ReadInt64(); }