public bool checkDbTest( string sDbName, DbSystem dbSystem) { MyDbCheckStatus dbCheckStatus = null; DbInfo dbInfo = null; XFLM_DB_HDR dbHdr = new XFLM_DB_HDR(); // Try restoring the database beginTest( "Check Database Test (" + sDbName + ")"); dbCheckStatus = new MyDbCheckStatus(); try { dbInfo = dbSystem.dbCheck( sDbName, null, null, null, DbCheckFlags.XFLM_ONLINE | DbCheckFlags.XFLM_DO_LOGICAL_CHECK, dbCheckStatus); } catch (XFlaimException ex) { endTest( dbCheckStatus.outputLines(), ex, "checking database"); return( false); } dbInfo.getDbHdr( dbHdr); System.Console.Write( "\n"); System.Console.WriteLine( "Signature............. {0}", dbHdr.szSignature); System.Console.WriteLine( "Database Version...... {0}", dbHdr.ui32DbVersion); System.Console.WriteLine( "Block Size............ {0}", dbHdr.ui16BlockSize); if (dbHdr.szSignature != "FLAIMDB") { endTest( true, false); System.Console.WriteLine( "Invalid signature in database header"); return( false); } if (dbHdr.ui16BlockSize != 8192 && dbHdr.ui16BlockSize != 4096) { endTest( true, false); System.Console.WriteLine( "Invalid block size in database header"); return( false); } if ((DBVersions)dbHdr.ui32DbVersion != DBVersions.XFLM_CURRENT_VERSION_NUM) { endTest( true, false); System.Console.WriteLine( "Invalid version in database header"); return( false); } endTest( true, true); return( true); }