示例#1
0
 internal Page(byte[] bytes, int offset)
 {
     JetHeader h = new JetHeader(bytes);
     PageNumber = GetPageNumber((uint)offset, h.PageSize);
     Checksum = BitConverter.ToUInt64(bytes, 0x00 + offset);
     LastModificationTime = new JetDbTime(bytes, offset + 0x08);
     PreviousPageNumber = BitConverter.ToUInt32(bytes, 0x10 + offset);
     NextPageNumber = BitConverter.ToUInt32(bytes, 0x14 + offset);
     FatherDataPage = BitConverter.ToUInt32(bytes, 0x18 + offset);
     AvailableDataSize = BitConverter.ToUInt16(bytes, 0x1C + offset);
     AvailableUncommittedDataSize = BitConverter.ToUInt16(bytes, 0x1E + offset);
     FirstAvailableDataOffset = BitConverter.ToUInt16(bytes, 0x20 + offset);
     FirstAvailablePageTag = BitConverter.ToUInt16(bytes, 0x22 + offset);
     PageFlags = ((Page.JET_PAGEFLAGS)BitConverter.ToUInt32(bytes, 0x24 + offset));
     Tags = DataTag.GetInstances(bytes, offset);
 }
示例#2
0
        internal Page(byte[] bytes, int offset)
        {
            JetHeader h = new JetHeader(bytes);

            PageNumber                   = GetPageNumber((uint)offset, h.PageSize);
            Checksum                     = BitConverter.ToUInt64(bytes, 0x00 + offset);
            LastModificationTime         = new JetDbTime(bytes, offset + 0x08);
            PreviousPageNumber           = BitConverter.ToUInt32(bytes, 0x10 + offset);
            NextPageNumber               = BitConverter.ToUInt32(bytes, 0x14 + offset);
            FatherDataPage               = BitConverter.ToUInt32(bytes, 0x18 + offset);
            AvailableDataSize            = BitConverter.ToUInt16(bytes, 0x1C + offset);
            AvailableUncommittedDataSize = BitConverter.ToUInt16(bytes, 0x1E + offset);
            FirstAvailableDataOffset     = BitConverter.ToUInt16(bytes, 0x20 + offset);
            FirstAvailablePageTag        = BitConverter.ToUInt16(bytes, 0x22 + offset);
            PageFlags                    = ((Page.JET_PAGEFLAGS)BitConverter.ToUInt32(bytes, 0x24 + offset));
            Tags = DataTag.GetInstances(bytes, offset);
        }