mirror of
				https://github.com/gnh1201/welsonjs.git
				synced 2025-10-31 04:51:17 +00:00 
			
		
		
		
	Add the package ManagedEsent (microsoft/ManagedEsent@d358c07), and WelsonJS.Esent
		
			
				
	
	
		
			1165 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			1165 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| //-----------------------------------------------------------------------
 | |
| // <copyright file="jet_dbinfomisc.cs" company="Microsoft Corporation">
 | |
| //     Copyright (c) Microsoft Corporation.
 | |
| // </copyright>
 | |
| //-----------------------------------------------------------------------
 | |
| 
 | |
| namespace Microsoft.Isam.Esent.Interop
 | |
| {
 | |
|     using System;
 | |
|     using System.Collections.Generic;
 | |
|     using System.Diagnostics;
 | |
|     using System.Diagnostics.CodeAnalysis;
 | |
|     using System.Globalization;
 | |
|     using System.Runtime.InteropServices;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// The native version of the JET_DBINFOMISC structure.
 | |
|     /// </summary>
 | |
|     [StructLayout(LayoutKind.Sequential)]
 | |
|     [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1305:FieldNamesMustNotUseHungarianNotation",
 | |
|         Justification = "This should match the unmanaged API, which isn't capitalized.")]
 | |
|     [SuppressMessage(
 | |
|         "Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1307:AccessibleFieldsMustBeginWithUpperCaseLetter",
 | |
|         Justification = "This should match the unmanaged API, which isn't capitalized.")]
 | |
|     internal struct NATIVE_DBINFOMISC
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Version of Esent that created the database.
 | |
|         /// </summary>
 | |
|         public uint ulVersion;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Incremental version of Esent that created the database.
 | |
|         /// </summary>
 | |
|         public uint ulUpdate;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Database signature.
 | |
|         /// </summary>
 | |
|         public NATIVE_SIGNATURE signDb;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Consistent/inconsistent state.
 | |
|         /// </summary>
 | |
|         public uint dbstate;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Null if in inconsistent state.
 | |
|         /// </summary>
 | |
|         public JET_LGPOS lgposConsistent;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Null if in inconsistent state.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeConsistent;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last attach time.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeAttach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Lgpos at last attach.
 | |
|         /// </summary>
 | |
|         public JET_LGPOS lgposAttach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last detach time.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeDetach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Lgpos at last detach.
 | |
|         /// </summary>
 | |
|         public JET_LGPOS lgposDetach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Logfile signature.
 | |
|         /// </summary>
 | |
|         public NATIVE_SIGNATURE signLog;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful full backup.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoFullPrev;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful incremental backup. Reset when 
 | |
|         /// <see cref="bkinfoFullPrev"/> is set.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoIncPrev;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Current backup.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoFullCur;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Internal use only.
 | |
|         /// </summary>
 | |
|         public uint fShadowingDisabled;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Internal use only.
 | |
|         /// </summary>
 | |
|         public uint fUpgradeDb;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS major version.
 | |
|         /// </summary>
 | |
|         public uint dwMajorVersion;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS minor version.
 | |
|         /// </summary>
 | |
|         public uint dwMinorVersion;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS build number.
 | |
|         /// </summary>
 | |
|         public uint dwBuildNumber;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS Service Pack number.
 | |
|         /// </summary>
 | |
|         public uint lSPNumber;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Database page size (0 = 4Kb page).
 | |
|         /// </summary>
 | |
|         public uint cbPageSize;
 | |
|     }
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Native version of the JET_DBINFOMISC structure.
 | |
|     /// Adds support for fields that we added in Windows 7.
 | |
|     /// </summary>
 | |
|     [StructLayout(LayoutKind.Sequential)]
 | |
|     [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1305:FieldNamesMustNotUseHungarianNotation",
 | |
|         Justification = "This should match the unmanaged API, which isn't capitalized.")]
 | |
|     [SuppressMessage(
 | |
|         "Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1307:AccessibleFieldsMustBeginWithUpperCaseLetter",
 | |
|         Justification = "This should match the unmanaged API, which isn't capitalized.")]
 | |
|     internal struct NATIVE_DBINFOMISC4
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// The core dbinfo structure.
 | |
|         /// </summary>
 | |
|         public NATIVE_DBINFOMISC dbinfo;
 | |
| 
 | |
|         // Fields added in JET_DBINFOMISC2
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The minimum log generation required for replaying the logs.
 | |
|         /// Typically the checkpoint generation.
 | |
|         /// </summary>
 | |
|         public uint genMinRequired;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The maximum log generation required for replaying the logs.
 | |
|         /// </summary>
 | |
|         public uint genMaxRequired;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Creation time of the <see cref="genMaxRequired"/> logfile.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeGenMaxCreate;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times repair has been called on this database.
 | |
|         /// </summary>
 | |
|         public uint ulRepairCount;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time that repair was run against this database.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeRepair;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times this database was repaired before the last defrag.
 | |
|         /// </summary>
 | |
|         public uint ulRepairCountOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times a one bit error was successfully fixed.
 | |
|         /// </summary>
 | |
|         public uint ulECCFixSuccess;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time a one bit error was successfully fixed.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeECCFixSuccess;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The number of times a one bit error was successfully fixed before the last repair.
 | |
|         /// </summary>
 | |
|         public uint ulECCFixSuccessOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         public uint ulECCFixFail;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeECCFixFail;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The number of times an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         public uint ulECCFixFailOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times a non-correctable checksum error was found.
 | |
|         /// </summary>
 | |
|         public uint ulBadChecksum;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time a non-correctable checksum error was found.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeBadChecksum;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The number of times a non-correctable checksum error was found before the last repair.
 | |
|         /// </summary>
 | |
|         public uint ulBadChecksumOld;
 | |
| 
 | |
|         // Fields added in JET_DBINFOMISC3
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The maximum log generation committed to the database. Typically the current log generation.
 | |
|         /// </summary>
 | |
|         public uint genCommitted;
 | |
| 
 | |
|         // Fields added in JET_DBINFOMISC4
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful copy backup.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoCopyPrev;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful differential backup. Reset when 
 | |
|         /// bkinfoFullPrev is set.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoDiffPrev;
 | |
|     }
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Holds miscellaneous information about a database. This is
 | |
|     /// the information that is contained in the database header.
 | |
|     /// </summary>
 | |
|     [SuppressMessage(
 | |
|         "Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1300:ElementMustBeginWithUpperCaseLetter",
 | |
|         Justification = "This should match the unmanaged API, which isn't capitalized.")]
 | |
|     [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1305:FieldNamesMustNotUseHungarianNotation",
 | |
|         Justification = "Need to avoid clash between members and properties.")]
 | |
|     [SuppressMessage(
 | |
|         "Microsoft.StyleCop.CSharp.NamingRules",
 | |
|         "SA1309:FieldNamesMustNotBeginWithUnderscore",
 | |
|         Justification = "Need to avoid clash between members and properties.")]
 | |
|     [Serializable]
 | |
|     public sealed partial class JET_DBINFOMISC : IEquatable<JET_DBINFOMISC>
 | |
|     {
 | |
|         #region Fields
 | |
|         /// <summary>
 | |
|         /// Version of Esent that created the database.
 | |
|         /// </summary>
 | |
|         private int _ulVersion;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Incremental version of Esent that created the database.
 | |
|         /// </summary>
 | |
|         private int _ulUpdate;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Database signature.
 | |
|         /// </summary>
 | |
|         private JET_SIGNATURE _signDb;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Consistent/inconsistent state.
 | |
|         /// </summary>
 | |
|         private JET_dbstate _dbstate;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Null if in inconsistent state.
 | |
|         /// </summary>
 | |
|         private JET_LGPOS _lgposConsistent;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Null if in inconsistent state.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeConsistent;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last attach time.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeAttach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Lgpos at last attach.
 | |
|         /// </summary>
 | |
|         private JET_LGPOS _lgposAttach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last detach time.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeDetach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Lgpos at last detach.
 | |
|         /// </summary>
 | |
|         private JET_LGPOS _lgposDetach;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Logfile signature.
 | |
|         /// </summary>
 | |
|         private JET_SIGNATURE _signLog;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful full backup.
 | |
|         /// </summary>
 | |
|         private JET_BKINFO _bkinfoFullPrev;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful incremental backup. Reset when 
 | |
|         /// <see cref="_bkinfoFullPrev"/> is set.
 | |
|         /// </summary>
 | |
|         private JET_BKINFO _bkinfoIncPrev;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Current backup.
 | |
|         /// </summary>
 | |
|         private JET_BKINFO _bkinfoFullCur;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Internal use only.
 | |
|         /// </summary>
 | |
|         private bool _fShadowingDisabled;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Internal use only.
 | |
|         /// </summary>
 | |
|         private bool _fUpgradeDb;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS major version.
 | |
|         /// </summary>
 | |
|         private int _dwMajorVersion;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS minor version.
 | |
|         /// </summary>
 | |
|         private int _dwMinorVersion;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS build number.
 | |
|         /// </summary>
 | |
|         private int _dwBuildNumber;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// OS Service Pack number.
 | |
|         /// </summary>
 | |
|         private int _lSPNumber;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Database page size (0 = 4Kb page).
 | |
|         /// </summary>
 | |
|         private int _cbPageSize;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The minimum log generation required for replaying the logs.
 | |
|         /// Typically the checkpoint generation.
 | |
|         /// </summary>
 | |
|         private int _genMinRequired;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The maximum log generation required for replaying the logs.
 | |
|         /// </summary>
 | |
|         private int _genMaxRequired;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Creation time of the <see cref="_genMaxRequired"/> logfile.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeGenMaxCreate;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times repair has been called on this database.
 | |
|         /// </summary>
 | |
|         private int _ulRepairCount;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time that repair was run against this database.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeRepair;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times this database was repaired before the last defrag.
 | |
|         /// </summary>
 | |
|         private int _ulRepairCountOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times a one bit error was successfully fixed.
 | |
|         /// </summary>
 | |
|         private int _ulECCFixSuccess;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time a one bit error was successfully fixed.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeECCFixSuccess;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The number of times a one bit error was successfully fixed before the last repair.
 | |
|         /// </summary>
 | |
|         private int _ulECCFixSuccessOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         private int _ulECCFixFail;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeECCFixFail;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The number of times an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         private int _ulECCFixFailOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Number of times a non-correctable checksum error was found.
 | |
|         /// </summary>
 | |
|         private int _ulBadChecksum;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The last time a non-correctable checksum error was found.
 | |
|         /// </summary>
 | |
|         private JET_LOGTIME _logtimeBadChecksum;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The number of times a non-correctable checksum error was found before the last repair.
 | |
|         /// </summary>
 | |
|         private int _ulBadChecksumOld;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// The maximum log generation committed to the database. Typically the current log generation.
 | |
|         /// </summary>
 | |
|         private int _genCommitted;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful copy backup.
 | |
|         /// </summary>
 | |
|         private JET_BKINFO _bkinfoCopyPrev;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Last successful differential backup. Reset when 
 | |
|         /// <see cref="_bkinfoFullPrev"/> is set.
 | |
|         /// </summary>
 | |
|         private JET_BKINFO _bkinfoDiffPrev;
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region Properties
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the version of Esent that created the database.
 | |
|         /// </summary>
 | |
|         public int ulVersion
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulVersion; }
 | |
|             internal set { this._ulVersion = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the incremental version of Esent that created the database.
 | |
|         /// </summary>
 | |
|         public int ulUpdate
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulUpdate; }
 | |
|             internal set { this._ulUpdate = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the database signature.
 | |
|         /// </summary>
 | |
|         public JET_SIGNATURE signDb
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._signDb; }
 | |
|             internal set { this._signDb = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the consistent/inconsistent state of the database.
 | |
|         /// </summary>
 | |
|         public JET_dbstate dbstate
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._dbstate; }
 | |
|             internal set { this._dbstate = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the lgpos when the database was made consistent.
 | |
|         /// This value is null if the database is inconsistent.
 | |
|         /// </summary>
 | |
|         public JET_LGPOS lgposConsistent
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._lgposConsistent; }
 | |
|             internal set { this._lgposConsistent = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the time when the database was made consistent.
 | |
|         /// This value is null if the database is inconsistent.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeConsistent
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeConsistent; }
 | |
|             internal set { this._logtimeConsistent = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the time when the database was attached.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeAttach
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeAttach; }
 | |
|             internal set { this._logtimeAttach = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the lgpos of the last attach.
 | |
|         /// </summary>
 | |
|         public JET_LGPOS lgposAttach
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._lgposAttach; }
 | |
|             internal set { this._lgposAttach = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the time of the last detach.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeDetach
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeDetach; }
 | |
|             internal set { this._logtimeDetach = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the lgpos of the last detach.
 | |
|         /// </summary>
 | |
|         public JET_LGPOS lgposDetach
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._lgposDetach; }
 | |
|             internal set { this._lgposDetach = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the logfile signature of logs used to modify the database.
 | |
|         /// </summary>
 | |
|         public JET_SIGNATURE signLog
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._signLog; }
 | |
|             internal set { this._signLog = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets information about the last successful full backup.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoFullPrev
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._bkinfoFullPrev; }
 | |
|             internal set { this._bkinfoFullPrev = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets information about the last successful incremental backup.
 | |
|         /// This value is reset when <see cref="bkinfoFullPrev"/> is set.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoIncPrev
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._bkinfoIncPrev; }
 | |
|             internal set { this._bkinfoIncPrev = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets information about the current backup.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoFullCur
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._bkinfoFullCur; }
 | |
|             internal set { this._bkinfoFullCur = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets a value indicating whether catalog shadowing is enabled.
 | |
|         /// This value is for internal use only.
 | |
|         /// </summary>
 | |
|         public bool fShadowingDisabled
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._fShadowingDisabled; }
 | |
|             internal set { this._fShadowingDisabled = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets a value indicating whether the database is being upgraded.
 | |
|         /// This value is for internal use only.
 | |
|         /// </summary>
 | |
|         public bool fUpgradeDb
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._fUpgradeDb; }
 | |
|             internal set { this._fUpgradeDb = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the OS major version from the last attach.
 | |
|         /// </summary>
 | |
|         public int dwMajorVersion
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._dwMajorVersion; }
 | |
|             internal set { this._dwMajorVersion = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the OS minor version from the last attach.
 | |
|         /// </summary>
 | |
|         public int dwMinorVersion
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._dwMinorVersion; }
 | |
|             internal set { this._dwMinorVersion = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the OS build number from the last attach.
 | |
|         /// </summary>
 | |
|         public int dwBuildNumber
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._dwBuildNumber; }
 | |
|             internal set { this._dwBuildNumber = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the OS Service Pack number from the last attach.
 | |
|         /// </summary>
 | |
|         public int lSPNumber
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._lSPNumber; }
 | |
|             internal set { this._lSPNumber = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the database page size. A value of 0 means 4Kb pages.
 | |
|         /// </summary>
 | |
|         public int cbPageSize
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._cbPageSize; }
 | |
|             internal set { this._cbPageSize = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the minimum log generation required for replaying the logs.
 | |
|         /// Typically the checkpoint generation.
 | |
|         /// </summary>
 | |
|         public int genMinRequired
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._genMinRequired; }
 | |
|             internal set { this._genMinRequired = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the maximum log generation required for replaying the logs.
 | |
|         /// </summary>
 | |
|         public int genMaxRequired
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._genMaxRequired; }
 | |
|             internal set { this._genMaxRequired = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the creation time of the <see cref="genMaxRequired"/> logfile.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeGenMaxCreate
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeGenMaxCreate; }
 | |
|             internal set { this._logtimeGenMaxCreate = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times repair has been called on this database.
 | |
|         /// </summary>
 | |
|         public int ulRepairCount
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulRepairCount; }
 | |
|             internal set { this._ulRepairCount = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the last time that repair was run against this database.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeRepair
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeRepair; }
 | |
|             internal set { this._logtimeRepair = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times this database was repaired before the last defrag.
 | |
|         /// </summary>
 | |
|         public int ulRepairCountOld
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulRepairCountOld; }
 | |
|             internal set { this._ulRepairCountOld = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times a one bit error was successfully fixed.
 | |
|         /// </summary>
 | |
|         public int ulECCFixSuccess
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulECCFixSuccess; }
 | |
|             internal set { this._ulECCFixSuccess = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the last time a one bit error was successfully fixed.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeECCFixSuccess
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeECCFixSuccess; }
 | |
|             internal set { this._logtimeECCFixSuccess = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times a one bit error was successfully fixed before the last repair.
 | |
|         /// </summary>
 | |
|         public int ulECCFixSuccessOld
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulECCFixSuccessOld; }
 | |
|             internal set { this._ulECCFixSuccessOld = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         public int ulECCFixFail
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulECCFixFail; }
 | |
|             internal set { this._ulECCFixFail = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the last time an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeECCFixFail
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeECCFixFail; }
 | |
|             internal set { this._logtimeECCFixFail = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times an uncorrectable one bit error was encountered.
 | |
|         /// </summary>
 | |
|         public int ulECCFixFailOld
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulECCFixFailOld; }
 | |
|             internal set { this._ulECCFixFailOld = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times a non-correctable checksum error was found.
 | |
|         /// </summary>
 | |
|         public int ulBadChecksum
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulBadChecksum; }
 | |
|             internal set { this._ulBadChecksum = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the last time a non-correctable checksum error was found.
 | |
|         /// </summary>
 | |
|         public JET_LOGTIME logtimeBadChecksum
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._logtimeBadChecksum; }
 | |
|             internal set { this._logtimeBadChecksum = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the number of times a non-correctable checksum error was found before the last repair.
 | |
|         /// </summary>
 | |
|         public int ulBadChecksumOld
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._ulBadChecksumOld; }
 | |
|             internal set { this._ulBadChecksumOld = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets the maximum log generation committed to the database. Typically the current log generation.
 | |
|         /// </summary>
 | |
|         public int genCommitted
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._genCommitted; }
 | |
|             internal set { this._genCommitted = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets information about the last successful copy backup.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoCopyPrev
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._bkinfoCopyPrev; }
 | |
|             internal set { this._bkinfoCopyPrev = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets information about the last successful differential backup. Reset when 
 | |
|         /// <see cref="bkinfoFullPrev"/> is set.
 | |
|         /// </summary>
 | |
|         public JET_BKINFO bkinfoDiffPrev
 | |
|         {
 | |
|             [DebuggerStepThrough]
 | |
|             get { return this._bkinfoDiffPrev; }
 | |
|             internal set { this._bkinfoDiffPrev = value; }
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets a string representation of this object.
 | |
|         /// </summary>
 | |
|         /// <returns>A string representation of this object.</returns>
 | |
|         public override string ToString()
 | |
|         {
 | |
|             return string.Format(CultureInfo.InvariantCulture, "JET_DBINFOMISC({0})", this._signDb);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Returns the hash code for this instance.
 | |
|         /// </summary>
 | |
|         /// <returns>The hash code for this instance.</returns>
 | |
|         public override int GetHashCode()
 | |
|         {
 | |
|             var hashes = new[]
 | |
|             {
 | |
|                 this._ulVersion,
 | |
|                 this._ulUpdate,
 | |
|                 this._signDb.GetHashCode(),
 | |
|                 this._dbstate.GetHashCode(),
 | |
|                 this._lgposConsistent.GetHashCode(),
 | |
|                 this._logtimeConsistent.GetHashCode(),
 | |
|                 this._logtimeAttach.GetHashCode(),
 | |
|                 this._lgposAttach.GetHashCode(),
 | |
|                 this._logtimeDetach.GetHashCode(),
 | |
|                 this._lgposDetach.GetHashCode(),
 | |
|                 this._signLog.GetHashCode(),
 | |
|                 this._bkinfoFullPrev.GetHashCode(),
 | |
|                 this._bkinfoIncPrev.GetHashCode(),
 | |
|                 this._bkinfoFullCur.GetHashCode(),
 | |
|                 this._fShadowingDisabled.GetHashCode(),
 | |
|                 this._fUpgradeDb.GetHashCode(),
 | |
|                 this._dwMajorVersion,
 | |
|                 this._dwMinorVersion,
 | |
|                 this._dwBuildNumber,
 | |
|                 this._lSPNumber,
 | |
|                 this._cbPageSize,
 | |
|                 this._genMinRequired,
 | |
|                 this._genMaxRequired,
 | |
|                 this._logtimeGenMaxCreate.GetHashCode(),
 | |
|                 this._ulRepairCount,
 | |
|                 this._logtimeRepair.GetHashCode(),
 | |
|                 this._ulRepairCountOld,
 | |
|                 this._ulECCFixSuccess,
 | |
|                 this._logtimeECCFixSuccess.GetHashCode(),
 | |
|                 this._ulECCFixSuccessOld,
 | |
|                 this._ulECCFixFail,
 | |
|                 this._logtimeECCFixFail.GetHashCode(),
 | |
|                 this._ulECCFixFailOld,
 | |
|                 this._ulBadChecksum,
 | |
|                 this._logtimeBadChecksum.GetHashCode(),
 | |
|                 this._ulBadChecksumOld,
 | |
|                 this._genCommitted,
 | |
|                 this._bkinfoCopyPrev.GetHashCode(),
 | |
|                 this._bkinfoDiffPrev.GetHashCode(),
 | |
|             };
 | |
| 
 | |
|             var listHashes = new List<int>(hashes);
 | |
|             this.AddNotYetPublishedHashCodes(listHashes);
 | |
| 
 | |
|             return Util.CalculateHashCode(listHashes);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
 | |
|         /// </summary>
 | |
|         /// <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param>
 | |
|         /// <returns>
 | |
|         /// True if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
 | |
|         /// </returns>
 | |
|         public override bool Equals(object obj)
 | |
|         {
 | |
|             if (obj == null || this.GetType() != obj.GetType())
 | |
|             {
 | |
|                 return false;
 | |
|             }
 | |
| 
 | |
|             return this.Equals((JET_DBINFOMISC)obj);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Indicates whether the current object is equal to another object of the same type.
 | |
|         /// </summary>
 | |
|         /// <param name="other">An object to compare with this object.</param>
 | |
|         /// <returns>
 | |
|         /// True if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
 | |
|         /// </returns>
 | |
|         public bool Equals(JET_DBINFOMISC other)
 | |
|         {
 | |
|             if (null == other)
 | |
|             {
 | |
|                 return false;
 | |
|             }
 | |
| 
 | |
|             bool notYetPublishedEquals = true;
 | |
|             this.NotYetPublishedEquals(other, ref notYetPublishedEquals);
 | |
| 
 | |
|             return notYetPublishedEquals
 | |
|                    && this._ulVersion == other._ulVersion
 | |
|                    && this._ulUpdate == other._ulUpdate
 | |
|                    && this._signDb == other._signDb
 | |
|                    && this._dbstate == other._dbstate
 | |
|                    && this._lgposConsistent == other._lgposConsistent
 | |
|                    && this._logtimeConsistent == other._logtimeConsistent
 | |
|                    && this._logtimeAttach == other._logtimeAttach
 | |
|                    && this._lgposAttach == other._lgposAttach
 | |
|                    && this._logtimeDetach == other._logtimeDetach
 | |
|                    && this._lgposDetach == other._lgposDetach
 | |
|                    && this._signLog == other._signLog
 | |
|                    && this._bkinfoFullPrev == other._bkinfoFullPrev
 | |
|                    && this._bkinfoIncPrev == other._bkinfoIncPrev
 | |
|                    && this._bkinfoFullCur == other._bkinfoFullCur
 | |
|                    && this._fShadowingDisabled == other._fShadowingDisabled
 | |
|                    && this._fUpgradeDb == other._fUpgradeDb
 | |
|                    && this._dwMajorVersion == other._dwMajorVersion
 | |
|                    && this._dwMinorVersion == other._dwMinorVersion
 | |
|                    && this._dwBuildNumber == other._dwBuildNumber
 | |
|                    && this._lSPNumber == other._lSPNumber
 | |
|                    && this._cbPageSize == other._cbPageSize
 | |
|                    && this._genMinRequired == other._genMinRequired
 | |
|                    && this._genMaxRequired == other._genMaxRequired
 | |
|                    && this._logtimeGenMaxCreate == other._logtimeGenMaxCreate
 | |
|                    && this._ulRepairCount == other._ulRepairCount
 | |
|                    && this._logtimeRepair == other._logtimeRepair
 | |
|                    && this._ulRepairCountOld == other._ulRepairCountOld
 | |
|                    && this._ulECCFixSuccess == other._ulECCFixSuccess
 | |
|                    && this._logtimeECCFixSuccess == other._logtimeECCFixSuccess
 | |
|                    && this._ulECCFixSuccessOld == other._ulECCFixSuccessOld
 | |
|                    && this._ulECCFixFail == other._ulECCFixFail
 | |
|                    && this._logtimeECCFixFail == other._logtimeECCFixFail
 | |
|                    && this._ulECCFixFailOld == other._ulECCFixFailOld
 | |
|                    && this._ulBadChecksum == other._ulBadChecksum
 | |
|                    && this._logtimeBadChecksum == other._logtimeBadChecksum
 | |
|                    && this._ulBadChecksumOld == other._ulBadChecksumOld
 | |
|                    && this._genCommitted == other._genCommitted
 | |
|                    && this._bkinfoCopyPrev == other._bkinfoCopyPrev
 | |
|                    && this._bkinfoDiffPrev == other._bkinfoDiffPrev;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Sets the members of this object from a native object.
 | |
|         /// </summary>
 | |
|         /// <param name="native">The native object.</param>
 | |
|         internal void SetFromNativeDbinfoMisc(ref NATIVE_DBINFOMISC native)
 | |
|         {
 | |
|             unchecked
 | |
|             {
 | |
|                 this._ulVersion = (int)native.ulVersion;
 | |
|                 this._ulUpdate = (int)native.ulUpdate;
 | |
|                 this._signDb = new JET_SIGNATURE(native.signDb);
 | |
|                 this._dbstate = (JET_dbstate)native.dbstate;
 | |
|                 this._lgposConsistent = native.lgposConsistent;
 | |
|                 this._logtimeConsistent = native.logtimeConsistent;
 | |
|                 this._logtimeAttach = native.logtimeAttach;
 | |
|                 this._lgposAttach = native.lgposAttach;
 | |
|                 this._logtimeDetach = native.logtimeDetach;
 | |
|                 this._lgposDetach = native.lgposDetach;
 | |
|                 this._signLog = new JET_SIGNATURE(native.signLog);
 | |
|                 this._bkinfoFullPrev = native.bkinfoFullPrev;
 | |
|                 this._bkinfoIncPrev = native.bkinfoIncPrev;
 | |
|                 this._bkinfoFullCur = native.bkinfoFullCur;
 | |
|                 this._fShadowingDisabled = 0 != native.fShadowingDisabled;
 | |
|                 this._fUpgradeDb = 0 != native.fUpgradeDb;
 | |
|                 this._dwMajorVersion = (int)native.dwMajorVersion;
 | |
|                 this._dwMinorVersion = (int)native.dwMinorVersion;
 | |
|                 this._dwBuildNumber = (int)native.dwBuildNumber;
 | |
|                 this._lSPNumber = (int)native.lSPNumber;
 | |
|                 this._cbPageSize = (int)native.cbPageSize;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Sets the members of this object from a native object.
 | |
|         /// </summary>
 | |
|         /// <param name="native">The native object.</param>
 | |
|         internal void SetFromNativeDbinfoMisc(ref NATIVE_DBINFOMISC4 native)
 | |
|         {
 | |
|             this.SetFromNativeDbinfoMisc(ref native.dbinfo);
 | |
| 
 | |
|             unchecked
 | |
|             {
 | |
|                 this._genMinRequired = (int)native.genMinRequired;
 | |
|                 this._genMaxRequired = (int)native.genMaxRequired;
 | |
|                 this._logtimeGenMaxCreate = native.logtimeGenMaxCreate;
 | |
|                 this._ulRepairCount = (int)native.ulRepairCount;
 | |
|                 this._logtimeRepair = native.logtimeRepair;
 | |
|                 this._ulRepairCountOld = (int)native.ulRepairCountOld;
 | |
|                 this._ulECCFixSuccess = (int)native.ulECCFixSuccess;
 | |
|                 this._logtimeECCFixSuccess = native.logtimeECCFixSuccess;
 | |
|                 this._ulECCFixSuccessOld = (int)native.ulECCFixSuccessOld;
 | |
|                 this._ulECCFixFail = (int)native.ulECCFixFail;
 | |
|                 this._logtimeECCFixFail = native.logtimeECCFixFail;
 | |
|                 this._ulECCFixFailOld = (int)native.ulECCFixFailOld;
 | |
|                 this._ulBadChecksum = (int)native.ulBadChecksum;
 | |
|                 this._logtimeBadChecksum = native.logtimeBadChecksum;
 | |
|                 this._ulBadChecksumOld = (int)native.ulBadChecksumOld;
 | |
|                 this._genCommitted = (int)native.genCommitted;
 | |
|                 this._bkinfoCopyPrev = native.bkinfoCopyPrev;
 | |
|                 this._bkinfoDiffPrev = native.bkinfoDiffPrev;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Calculates the native version of the structure.
 | |
|         /// </summary>
 | |
|         /// <returns>The native version of the structure.</returns>
 | |
|         internal NATIVE_DBINFOMISC GetNativeDbinfomisc()
 | |
|         {
 | |
|             NATIVE_DBINFOMISC native = new NATIVE_DBINFOMISC();
 | |
| 
 | |
|             unchecked
 | |
|             {
 | |
|                 native.ulVersion = (uint)this._ulVersion;
 | |
|                 native.ulUpdate = (uint)this._ulUpdate;
 | |
|                 native.signDb = this._signDb.GetNativeSignature();
 | |
|                 native.dbstate = (uint)this._dbstate;
 | |
|                 native.lgposConsistent = this._lgposConsistent;
 | |
|                 native.logtimeConsistent = this._logtimeConsistent;
 | |
|                 native.logtimeAttach = this._logtimeAttach;
 | |
|                 native.lgposAttach = this._lgposAttach;
 | |
|                 native.logtimeDetach = this._logtimeDetach;
 | |
|                 native.lgposDetach = this._lgposDetach;
 | |
|                 native.signLog = this._signLog.GetNativeSignature();
 | |
|                 native.bkinfoFullPrev = this._bkinfoFullPrev;
 | |
|                 native.bkinfoIncPrev = this._bkinfoIncPrev;
 | |
|                 native.bkinfoFullCur = this._bkinfoFullCur;
 | |
|                 native.fShadowingDisabled = this._fShadowingDisabled ? 1u : 0u;
 | |
|                 native.fUpgradeDb = this._fUpgradeDb ? 1u : 0u;
 | |
|                 native.dwMajorVersion = (uint)this._dwMajorVersion;
 | |
|                 native.dwMinorVersion = (uint)this._dwMinorVersion;
 | |
|                 native.dwBuildNumber = (uint)this._dwBuildNumber;
 | |
|                 native.lSPNumber = (uint)this._lSPNumber;
 | |
|                 native.cbPageSize = (uint)this._cbPageSize;
 | |
|             }
 | |
| 
 | |
|             return native;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Calculates the native version of the structure.
 | |
|         /// </summary>
 | |
|         /// <returns>The native version of the structure.</returns>
 | |
|         internal NATIVE_DBINFOMISC4 GetNativeDbinfomisc4()
 | |
|         {
 | |
|             NATIVE_DBINFOMISC4 native = new NATIVE_DBINFOMISC4();
 | |
| 
 | |
|             native.dbinfo = this.GetNativeDbinfomisc();
 | |
| 
 | |
|             unchecked
 | |
|             {
 | |
|                 native.genMinRequired = (uint)this._genMinRequired;
 | |
|                 native.genMaxRequired = (uint)this._genMaxRequired;
 | |
|                 native.logtimeGenMaxCreate = this._logtimeGenMaxCreate;
 | |
|                 native.ulRepairCount = (uint)this._ulRepairCount;
 | |
|                 native.logtimeRepair = this._logtimeRepair;
 | |
|                 native.ulRepairCountOld = (uint)this._ulRepairCountOld;
 | |
|                 native.ulECCFixSuccess = (uint)this._ulECCFixSuccess;
 | |
|                 native.logtimeECCFixSuccess = this._logtimeECCFixSuccess;
 | |
|                 native.ulECCFixSuccessOld = (uint)this._ulECCFixSuccessOld;
 | |
|                 native.ulECCFixFail = (uint)this._ulECCFixFail;
 | |
|                 native.logtimeECCFixFail = this._logtimeECCFixFail;
 | |
|                 native.ulECCFixFailOld = (uint)this._ulECCFixFailOld;
 | |
|                 native.ulBadChecksum = (uint)this._ulBadChecksum;
 | |
|                 native.logtimeBadChecksum = this._logtimeBadChecksum;
 | |
|                 native.ulBadChecksumOld = (uint)this._ulBadChecksumOld;
 | |
|                 native.genCommitted = (uint)this._genCommitted;
 | |
|                 native.bkinfoCopyPrev = this._bkinfoCopyPrev;
 | |
|                 native.bkinfoDiffPrev = this._bkinfoDiffPrev;
 | |
|             }
 | |
| 
 | |
|             return native;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Provides a hook to allow comparison of additional fields in
 | |
|         /// a different file. These additonal fields are not yet published
 | |
|         /// on MSDN.
 | |
|         /// </summary>
 | |
|         /// <param name="other">The structure to compare with.</param>
 | |
|         /// <param name="notYetPublishedEquals">Whether the additional fields in <paramref name="other"/>
 | |
|         /// are the same as this.</param>
 | |
|         partial void NotYetPublishedEquals(JET_DBINFOMISC other, ref bool notYetPublishedEquals);
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Provides a hook to allow additional fields to be calculated in the hashcode.
 | |
|         /// These additonal fields are not yet published on MSDN.
 | |
|         /// </summary>
 | |
|         /// <param name="hashCodes">The list of hashcodes to add to.</param>
 | |
|         partial void AddNotYetPublishedHashCodes(IList<int> hashCodes);
 | |
|     }
 | |
| } |