void CMainDlg::StartCaptureVideo(int iChannel,bool sub) { SYSTEMTIME systemTime; GetLocalTime(&systemTime); SetupDateTime(m_channelHandle[iChannel], &systemTime); m_recordFileName[iChannel].Format("%s%dY%dM%dD%dH%d",m_settingDlg->m_capturePath,systemTime.wYear,systemTime.wMonth,systemTime.wDay,systemTime.wHour,iChannel); m_fileHandle[iChannel] = CreateFile(m_recordFileName[iChannel], GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); InsertOneRecord(iChannel,0,systemTime,m_recordFileName[iChannel]); if (sub) { m_recordFileName[iChannel+BLM_CHANNEL_MAX].Format("%s%dY%dM%dD%dH%dSub",m_settingDlg->m_capturePath,systemTime.wYear,systemTime.wMonth,systemTime.wDay,systemTime.wHour,iChannel); m_fileHandle[iChannel+BLM_CHANNEL_MAX] = CreateFile(m_recordFileName[iChannel], GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); InsertOneRecord(iChannel,1,systemTime,m_recordFileName[iChannel]); SetupSubChannel(m_channelHandle[iChannel], 1); CaptureIFrame(m_channelHandle[iChannel]); StartSubVideoCapture(m_channelHandle[iChannel]); m_isVideoCapture[iChannel+BLM_CHANNEL_MAX] = TRUE; } SetupSubChannel(m_channelHandle[iChannel], 0); CaptureIFrame(m_channelHandle[iChannel]); int iRet = StartVideoCapture(m_channelHandle[iChannel]); m_isVideoCapture[iChannel] = TRUE; }
int SstAlignSym::Insert( SymbolStruct* sym ) /*******************************************/ { uint seg = sym -> CodeSegment(); if ( seg != NO_SEGMENT ) { if ( _lastStartSym[seg] == 0 ) { SymbolStruct* newSSym = new CSStartSearch(seg); _lastStartSym[seg] = newSSym; if (!_symbolInfo.insert(newSSym)) { cerr << "Failed to insert in SstAlignSym::Insert(), A\n"; cerr.flush(); return 0; } } } if (!InsertOneRecord( sym )) { cerr << "Failed to insert in SstAlignSym::Insert(), B\n"; cerr.flush(); return 0; } if ( sym -> IsStartSym() ) { if ( ! symStack.isEmpty() ) { sym -> SetParent( symStack.top() -> Offset() ); } else { sym -> SetParent( 0 ); assert( _lastStartSym[seg] ); _lastStartSym[seg] -> SetNext( sym -> Offset() ); _lastStartSym[seg] = sym; } if (!symStack.push(sym)) { cerr << "Failed to push sym to symStack\n"; cerr.flush(); return 0; } return 1; } if ( sym -> IsEndSym() ) { symStack.pop() -> SetEnd( sym -> Offset() ); } return 1; }