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); }