示例#1
0
 public static IvffResult IvaLoadBankList(
     Stream stream,
     ref IvaFileHandler ivaHandler,
     ref IvBankList[] bankList)
 {
     return(Ivff.LoadBlock <IvBankList>(stream, ref bankList, (long)(ivaHandler.BankListHeader.FilePosition + (int)ivaHandler.BankListHeader.BlockHeaderSize)));
 }
示例#2
0
 private static void InitializeIvCommonFilehandler(out IvaFileHandler ivaHandler)
 {
     ivaHandler = new IvaFileHandler();
     ivaHandler.CommonHandler.BlockOffsetTable           = new uint[12];
     ivaHandler.CommonHandler.VersionInfoID              = 4281929U;
     ivaHandler.CommonHandler.VersionInfo.FileVersion    = Ivff.CURRENT_FILE_VERSION;
     ivaHandler.CommonHandler.VersionInfo.MinFileVersion = Ivff.MINIMUM_FILE_VERSION;
 }
示例#3
0
        private static IvffResult CheckFileBlockFirst(
            Stream stream,
            ref IvaFileHandler ivaHandler,
            BlockOffsetIndex index,
            int divideSize,
            ref IvCommonBlockHeader blockHeader)
        {
            uint blockID = Ivff.BLOCK_ID_TABLE[index];
            uint num     = ivaHandler.CommonHandler.BlockOffsetTable[(int)index];

            stream.Seek((long)num, SeekOrigin.Begin);
            return(Ivff.CheckBlockFirst <IvCommonBlockHeader>(stream, out ivaHandler.CommonHandler.CheckerWork, divideSize, ref blockHeader, ref blockHeader, blockID));
        }
示例#4
0
        public static IvaFileErrors IvaLoad(Stream stream, out IvaFileHandler ivaHandler)
        {
            Ivff.InitializeIvCommonFilehandler(out ivaHandler);
            if (Ivff.IsResultError(Ivff.LoadIvCommonFilehandler(stream, ref ivaHandler.CommonHandler)))
            {
                return(IvaFileErrors.FileErrorsOpen);
            }
            IvffResult result1 = Ivff.CheckFileBlockFirst(stream, ref ivaHandler, BlockOffsetIndex.VS_SYSTEM_SETTING, 0, ref ivaHandler.CameraSystemHeader);

            if (Ivff.IsResultError(result1) || result1 == IvffResult.SIZE_ZERO)
            {
                return(IvaFileErrors.FileErrorsIva);
            }
            IvffResult result2 = Ivff.CheckFileBlockFirst(stream, ref ivaHandler, BlockOffsetIndex.NETWORK_SETTING, 0, ref ivaHandler.CameraNetworkHeader);

            return(Ivff.IsResultError(result2) || result2 == IvffResult.SIZE_ZERO || (Ivff.IsResultError(Ivff.CheckFileBlockFirst <IvBankSettingBlockHeader>(stream, ref ivaHandler, BlockOffsetIndex.BANK_SETTING, 0, ref ivaHandler.CameraBankHeader, ref ivaHandler.CameraBankHeader.VariableHeader.CommonHeader)) || Ivff.IsResultError(Ivff.CheckFileBlockFirst(stream, ref ivaHandler, BlockOffsetIndex.BANK_LIST, 0, ref ivaHandler.BankListHeader))) ? IvaFileErrors.FileErrorsIva : IvaFileErrors.FileErrorsNone);
        }