コード例 #1
0
        /// <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();
        }