Ejemplo n.º 1
0
 internal Header(byte[] bytes)
 {
     Checksum          = BitConverter.ToUInt32(bytes, 0x00);
     Signature         = BitConverter.ToUInt32(bytes, 0x04);
     FileFormatVersion = BitConverter.ToUInt32(bytes, 0x08);
     FileType          = (JET_FILETYPE)BitConverter.ToUInt32(bytes, 0x0C);
     //DatabaseTime = NativeMethods.GetSubArray(bytes, 0x10, 0x08);
     DatabaseSignature         = new JET_SIGNATURE(NativeMethods.GetSubArray(bytes, 0x18, 0x1C));
     DatabaseState             = (JET_DBSTATE)BitConverter.ToUInt32(bytes, 0x34);
     ConsistentPostition       = new JET_LGPOS(NativeMethods.GetSubArray(bytes, 0x38, 0x08));
     ConsistentTime            = JET_LOGTIME.Get(bytes[0x45], bytes[0x44], bytes[0x43], bytes[0x42], bytes[0x41], bytes[0x40]);
     AttachTime                = JET_LOGTIME.Get(bytes[0x4D], bytes[0x4C], bytes[0x4B], bytes[0x4A], bytes[0x49], bytes[0x48]);
     AttachPosition            = new JET_LGPOS(NativeMethods.GetSubArray(bytes, 0x50, 0x08));
     DetachTime                = JET_LOGTIME.Get(bytes[0x5D], bytes[0x5C], bytes[0x5B], bytes[0x5A], bytes[0x59], bytes[0x58]);
     DetachPosition            = new JET_LGPOS(NativeMethods.GetSubArray(bytes, 0x60, 0x08));
     LogSignature              = new JET_SIGNATURE(NativeMethods.GetSubArray(bytes, 0x68, 0x1C));
     PreviousFullBackup        = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x88, 0x18));
     PreviousIncrementalBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0xA0, 0x18));
     CurrentFullBackup         = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0xB8, 0x18));
     ShadowingDisabled         = BitConverter.ToUInt32(bytes, 0xBC);
     LastObjectIdentifier      = BitConverter.ToUInt32(bytes, 0xC0);
     MajorVersion              = BitConverter.ToUInt32(bytes, 0xC4);
     MinorVersion              = BitConverter.ToUInt32(bytes, 0xC8);
     BuildNumber               = BitConverter.ToUInt32(bytes, 0xCC);
     ServicePackNumber         = BitConverter.ToUInt32(bytes, 0xD0);
     FileFormatRevision        = BitConverter.ToUInt32(bytes, 0xD4);
     PageSize    = BitConverter.ToUInt32(bytes, 0xD8);
     RepairCount = BitConverter.ToUInt32(bytes, 0xDC);
     RepairTime  = JET_LOGTIME.Get(bytes[0xE5], bytes[0xE4], bytes[0xE3], bytes[0xE2], bytes[0xE1], bytes[0xE0]);
     //ScrubDatabaseTime = NativeMethods.GetSubArray(bytes, 0x118, 0x08);
     ScrubTime                  = JET_LOGTIME.Get(NativeMethods.GetSubArray(bytes, 0x120, 0x08));
     RequiredLog                = BitConverter.ToUInt32(bytes, 0x128);
     UpgradeExchangeFormat      = BitConverter.ToUInt32(bytes, 0x130);
     UpgradeFreePages           = BitConverter.ToUInt32(bytes, 0x134);
     UpgradeSpaceMapPages       = BitConverter.ToUInt32(bytes, 0x138);
     CurrentShadowCopyBackup    = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x13C, 0x18));
     CreationFileFormatVersion  = BitConverter.ToUInt32(bytes, 0x154);
     CreationFileFormatRevision = BitConverter.ToUInt32(bytes, 0x158);
     OldRepairCount             = BitConverter.ToUInt32(bytes, 0x16C);
     EccFixSuccessCount         = BitConverter.ToUInt32(bytes, 0x170);
     LastEccFixTime             = JET_LOGTIME.Get(bytes[0x179], bytes[0x178], bytes[0x177], bytes[0x176], bytes[0x175], bytes[0x174]);
     OldEccFixSuccessCount      = BitConverter.ToUInt32(bytes, 0x17C);
     EccFixErrorCount           = BitConverter.ToUInt32(bytes, 0x190);
     LastEccFixErrorTime        = JET_LOGTIME.Get(bytes[0x189], bytes[0x188], bytes[0x187], bytes[0x186], bytes[0x185], bytes[0x184]);
     OldEccFixErrorCount        = BitConverter.ToUInt32(bytes, 0x18C);
     BadChecksumErrorCount      = BitConverter.ToUInt32(bytes, 0x190);
     LastBadChecksumTime        = JET_LOGTIME.Get(bytes[0x199], bytes[0x198], bytes[0x197], bytes[0x196], bytes[0x195], bytes[0x194]);
     OldBadChecksumErrorCount   = BitConverter.ToUInt32(bytes, 0x19C);
     CommittedLog               = BitConverter.ToUInt32(bytes, 0x1A0);
     PreviousShadowBackup       = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x1A4, 0x18));
     PreviousDifferentialBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x1BC, 0x18));
     NlsMajorVersion            = BitConverter.ToUInt32(bytes, 0x1FC);
     NlsMinorVersion            = BitConverter.ToUInt32(bytes, 0x200);
 }
Ejemplo n.º 2
0
 internal JetHeader(byte[] bytes)
 {
     Checksum = BitConverter.ToUInt32(bytes, 0x00);
     Signature = BitConverter.ToUInt32(bytes, 0x04);
     FileFormatVersion = BitConverter.ToUInt32(bytes, 0x08);
     FileType = (JET_FILETYPE)BitConverter.ToUInt32(bytes, 0x0C);
     //DatabaseTime = NativeMethods.GetSubArray(bytes, 0x10, 0x08);
     DatabaseSignature = new JET_SIGNATURE(NativeMethods.GetSubArray(bytes, 0x18, 0x1C));
     DatabaseState = (JET_DBSTATE)BitConverter.ToUInt32(bytes, 0x34);
     ConsistentPostition = new JET_LGPOS(NativeMethods.GetSubArray(bytes, 0x38, 0x08));
     ConsistentTime = JET_LOGTIME.Get(bytes[0x45], bytes[0x44], bytes[0x43], bytes[0x42], bytes[0x41], bytes[0x40]);
     AttachTime = JET_LOGTIME.Get(bytes[0x4D], bytes[0x4C], bytes[0x4B], bytes[0x4A], bytes[0x49], bytes[0x48]);
     AttachPosition = new JET_LGPOS(NativeMethods.GetSubArray(bytes, 0x50, 0x08));
     DetachTime = JET_LOGTIME.Get(bytes[0x5D], bytes[0x5C], bytes[0x5B], bytes[0x5A], bytes[0x59], bytes[0x58]);
     DetachPosition = new JET_LGPOS(NativeMethods.GetSubArray(bytes, 0x60, 0x08));
     LogSignature = new JET_SIGNATURE(NativeMethods.GetSubArray(bytes, 0x68, 0x1C));
     PreviousFullBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x88, 0x18));
     PreviousIncrementalBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0xA0, 0x18));
     CurrentFullBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0xB8, 0x18));
     ShadowingDisabled = BitConverter.ToUInt32(bytes, 0xBC);
     LastObjectIdentifier = BitConverter.ToUInt32(bytes, 0xC0);
     MajorVersion = BitConverter.ToUInt32(bytes, 0xC4);
     MinorVersion = BitConverter.ToUInt32(bytes, 0xC8);
     BuildNumber = BitConverter.ToUInt32(bytes, 0xCC);
     ServicePackNumber = BitConverter.ToUInt32(bytes, 0xD0);
     FileFormatRevision = BitConverter.ToUInt32(bytes, 0xD4);
     PageSize = BitConverter.ToUInt32(bytes, 0xD8);
     RepairCount = BitConverter.ToUInt32(bytes, 0xDC);
     RepairTime = JET_LOGTIME.Get(bytes[0xE5], bytes[0xE4], bytes[0xE3], bytes[0xE2], bytes[0xE1], bytes[0xE0]);
     //ScrubDatabaseTime = NativeMethods.GetSubArray(bytes, 0x118, 0x08);
     ScrubTime = JET_LOGTIME.Get(NativeMethods.GetSubArray(bytes, 0x120, 0x08));
     RequiredLog = BitConverter.ToUInt32(bytes, 0x128);
     UpgradeExchangeFormat = BitConverter.ToUInt32(bytes, 0x130);
     UpgradeFreePages = BitConverter.ToUInt32(bytes, 0x134);
     UpgradeSpaceMapPages = BitConverter.ToUInt32(bytes, 0x138);
     CurrentShadowCopyBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x13C, 0x18));
     CreationFileFormatVersion = BitConverter.ToUInt32(bytes, 0x154);
     CreationFileFormatRevision = BitConverter.ToUInt32(bytes, 0x158);
     OldRepairCount = BitConverter.ToUInt32(bytes, 0x16C);
     EccFixSuccessCount = BitConverter.ToUInt32(bytes, 0x170);
     LastEccFixTime = JET_LOGTIME.Get(bytes[0x179], bytes[0x178], bytes[0x177], bytes[0x176], bytes[0x175], bytes[0x174]);
     OldEccFixSuccessCount = BitConverter.ToUInt32(bytes, 0x17C);
     EccFixErrorCount = BitConverter.ToUInt32(bytes, 0x190);
     LastEccFixErrorTime = JET_LOGTIME.Get(bytes[0x189], bytes[0x188], bytes[0x187], bytes[0x186], bytes[0x185], bytes[0x184]);
     OldEccFixErrorCount = BitConverter.ToUInt32(bytes, 0x18C);
     BadChecksumErrorCount = BitConverter.ToUInt32(bytes, 0x190);
     LastBadChecksumTime = JET_LOGTIME.Get(bytes[0x199], bytes[0x198], bytes[0x197], bytes[0x196], bytes[0x195], bytes[0x194]);
     OldBadChecksumErrorCount = BitConverter.ToUInt32(bytes, 0x19C);
     CommittedLog = BitConverter.ToUInt32(bytes, 0x1A0);
     PreviousShadowBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x1A4, 0x18));
     PreviousDifferentialBackup = new JET_BKINFO(NativeMethods.GetSubArray(bytes, 0x1BC, 0x18));
     NlsMajorVersion = BitConverter.ToUInt32(bytes, 0x1FC);
     NlsMinorVersion = BitConverter.ToUInt32(bytes, 0x200);
 }
Ejemplo n.º 3
0
 internal JetHeader(byte[] bytes)
 {
     Checksum                   = BitConverter.ToUInt32(bytes, 0x00);
     Signature                  = BitConverter.ToUInt32(bytes, 0x04);
     FileFormatVersion          = BitConverter.ToUInt32(bytes, 0x08);
     FileType                   = (JET_FILETYPE)BitConverter.ToUInt32(bytes, 0x0C);
     DatabaseTime               = new JetDbTime(bytes, 0x10);
     DatabaseSignature          = new JetSignature(bytes, 0x18);
     DatabaseState              = (JET_DBSTATE)BitConverter.ToUInt32(bytes, 0x34);
     ConsistentPostition        = new JetLgPos(bytes, 0x38);
     ConsistentTime             = JetLogTime.Get(bytes, 0x40);
     AttachTime                 = JetLogTime.Get(bytes, 0x48);
     AttachPosition             = new JetLgPos(bytes, 0x50);
     DetachTime                 = JetLogTime.Get(bytes, 0x58);
     DetachPosition             = new JetLgPos(bytes, 0x60);
     LogSignature               = new JetSignature(bytes, 0x68);
     PreviousFullBackup         = new JetBkInfo(bytes, 0x88);
     PreviousIncrementalBackup  = new JetBkInfo(bytes, 0xA0);
     CurrentFullBackup          = new JetBkInfo(bytes, 0xB8);
     ShadowingDisabled          = BitConverter.ToUInt32(bytes, 0xD0);
     LastObjectIdentifier       = BitConverter.ToUInt32(bytes, 0xD4);
     MajorVersion               = BitConverter.ToUInt32(bytes, 0xD8);
     MinorVersion               = BitConverter.ToUInt32(bytes, 0xDC);
     BuildNumber                = BitConverter.ToUInt32(bytes, 0xE0);
     ServicePackNumber          = BitConverter.ToUInt32(bytes, 0xE4);
     FileFormatRevision         = BitConverter.ToUInt32(bytes, 0xE8);
     PageSize                   = BitConverter.ToUInt32(bytes, 0xEC);
     RepairCount                = BitConverter.ToUInt32(bytes, 0xF0);
     RepairTime                 = JetLogTime.Get(bytes, 0xF4);
     ScrubDatabaseTime          = new JetDbTime(bytes, 0x118);
     ScrubTime                  = JetLogTime.Get(bytes, 0x120);
     RequiredLog                = BitConverter.ToUInt32(bytes, 0x128);
     UpgradeExchangeFormat      = BitConverter.ToUInt32(bytes, 0x130);
     UpgradeFreePages           = BitConverter.ToUInt32(bytes, 0x134);
     UpgradeSpaceMapPages       = BitConverter.ToUInt32(bytes, 0x138);
     CurrentShadowCopyBackup    = new JetBkInfo(bytes, 0x13C);
     CreationFileFormatVersion  = BitConverter.ToUInt32(bytes, 0x154);
     CreationFileFormatRevision = BitConverter.ToUInt32(bytes, 0x158);
     OldRepairCount             = BitConverter.ToUInt32(bytes, 0x16C);
     EccFixSuccessCount         = BitConverter.ToUInt32(bytes, 0x170);
     LastEccFixTime             = JetLogTime.Get(bytes, 0x174);
     OldEccFixSuccessCount      = BitConverter.ToUInt32(bytes, 0x17C);
     EccFixErrorCount           = BitConverter.ToUInt32(bytes, 0x180);
     LastEccFixErrorTime        = JetLogTime.Get(bytes, 0x184);
     OldEccFixErrorCount        = BitConverter.ToUInt32(bytes, 0x18C);
     BadChecksumErrorCount      = BitConverter.ToUInt32(bytes, 0x190);
     LastBadChecksumTime        = JetLogTime.Get(bytes, 0x194);
     OldBadChecksumErrorCount   = BitConverter.ToUInt32(bytes, 0x19C);
     CommittedLog               = BitConverter.ToUInt32(bytes, 0x1A0);
     PreviousShadowBackup       = new JetBkInfo(bytes, 0x1A4);
     PreviousDifferentialBackup = new JetBkInfo(bytes, 0x1BC);
     NlsMajorVersion            = BitConverter.ToUInt32(bytes, 0x1FC);
     NlsMinorVersion            = BitConverter.ToUInt32(bytes, 0x200);
 }
Ejemplo n.º 4
0
 internal JetHeader(byte[] bytes)
 {
     Checksum = BitConverter.ToUInt32(bytes, 0x00);
     Signature = BitConverter.ToUInt32(bytes, 0x04);
     FileFormatVersion = BitConverter.ToUInt32(bytes, 0x08);
     FileType = (JET_FILETYPE)BitConverter.ToUInt32(bytes, 0x0C);
     DatabaseTime = new JetDbTime(bytes, 0x10);
     DatabaseSignature = new JetSignature(bytes, 0x18);
     DatabaseState = (JET_DBSTATE)BitConverter.ToUInt32(bytes, 0x34);
     ConsistentPostition = new JetLgPos(bytes, 0x38);
     ConsistentTime = JetLogTime.Get(bytes, 0x40);
     AttachTime = JetLogTime.Get(bytes, 0x48);
     AttachPosition = new JetLgPos(bytes, 0x50);
     DetachTime = JetLogTime.Get(bytes, 0x58);
     DetachPosition = new JetLgPos(bytes, 0x60);
     LogSignature = new JetSignature(bytes, 0x68);
     PreviousFullBackup = new JetBkInfo(bytes, 0x88);
     PreviousIncrementalBackup = new JetBkInfo(bytes, 0xA0);
     CurrentFullBackup = new JetBkInfo(bytes, 0xB8);
     ShadowingDisabled = BitConverter.ToUInt32(bytes, 0xD0);
     LastObjectIdentifier = BitConverter.ToUInt32(bytes, 0xD4);
     MajorVersion = BitConverter.ToUInt32(bytes, 0xD8);
     MinorVersion = BitConverter.ToUInt32(bytes, 0xDC);
     BuildNumber = BitConverter.ToUInt32(bytes, 0xE0);
     ServicePackNumber = BitConverter.ToUInt32(bytes, 0xE4);
     FileFormatRevision = BitConverter.ToUInt32(bytes, 0xE8);
     PageSize = BitConverter.ToUInt32(bytes, 0xEC);
     RepairCount = BitConverter.ToUInt32(bytes, 0xF0);
     RepairTime = JetLogTime.Get(bytes, 0xF4);
     ScrubDatabaseTime = new JetDbTime(bytes, 0x118);
     ScrubTime = JetLogTime.Get(bytes, 0x120);
     RequiredLog = BitConverter.ToUInt32(bytes, 0x128);
     UpgradeExchangeFormat = BitConverter.ToUInt32(bytes, 0x130);
     UpgradeFreePages = BitConverter.ToUInt32(bytes, 0x134);
     UpgradeSpaceMapPages = BitConverter.ToUInt32(bytes, 0x138);
     CurrentShadowCopyBackup = new JetBkInfo(bytes, 0x13C);
     CreationFileFormatVersion = BitConverter.ToUInt32(bytes, 0x154);
     CreationFileFormatRevision = BitConverter.ToUInt32(bytes, 0x158);
     OldRepairCount = BitConverter.ToUInt32(bytes, 0x16C);
     EccFixSuccessCount = BitConverter.ToUInt32(bytes, 0x170);
     LastEccFixTime = JetLogTime.Get(bytes, 0x174);
     OldEccFixSuccessCount = BitConverter.ToUInt32(bytes, 0x17C);
     EccFixErrorCount = BitConverter.ToUInt32(bytes, 0x180);
     LastEccFixErrorTime = JetLogTime.Get(bytes, 0x184);
     OldEccFixErrorCount = BitConverter.ToUInt32(bytes, 0x18C);
     BadChecksumErrorCount = BitConverter.ToUInt32(bytes, 0x190);
     LastBadChecksumTime = JetLogTime.Get(bytes, 0x194);
     OldBadChecksumErrorCount = BitConverter.ToUInt32(bytes, 0x19C);
     CommittedLog = BitConverter.ToUInt32(bytes, 0x1A0);
     PreviousShadowBackup = new JetBkInfo(bytes, 0x1A4);
     PreviousDifferentialBackup = new JetBkInfo(bytes, 0x1BC);
     NlsMajorVersion = BitConverter.ToUInt32(bytes, 0x1FC);
     NlsMinorVersion = BitConverter.ToUInt32(bytes, 0x200);
 }