예제 #1
0
        internal IndexEntry(byte[] bytes, int offset)
        {
            RecordNumber = (BitConverter.ToUInt64(bytes, 0x00 + offset) & 0x0000FFFFFFFFFFFF);
            Size = BitConverter.ToUInt16(bytes, 0x08 + offset);
            StreamSize = BitConverter.ToUInt16(bytes, 0x0A + offset);
            Flags = bytes[0x0C + offset];
            Stream = Helper.GetSubArray(bytes, 0x10 + offset, this.StreamSize);

            if (!(this.Stream.Length == 0))
            {
                // Instantiate a FileName Object from IndexEntry Stream
                Entry = new FileName(this.Stream);
                Filename = Entry.Filename;
            }
        }
예제 #2
0
        internal ushort StreamSize; // Length of the stream

        #endregion Fields

        #region Constructors

        internal IndexEntry(byte[] bytes)
        {
            RecordNumber = (BitConverter.ToUInt64(bytes, 0x00) & 0x0000FFFFFFFFFFFF);
            Size = BitConverter.ToUInt16(bytes, 0x08);
            StreamSize = BitConverter.ToUInt16(bytes, 0x0A);
            Flags = bytes[0x0C];
            Stream = NativeMethods.GetSubArray(bytes, 0x10, this.StreamSize);

            if (!(this.Stream.Length == 0))
            {
                // Instantiate a FileName Object from IndexEntry Stream
                Entry = new FileName(this.Stream);
                Filename = Entry.Filename;
            }
        }