private string getLocalRemoteStoragePath(string puid, string szTargetId, string szFileName) { string localPath = null; string fileName = BVSDKAdapter.ParsePathGetFileName(szFileName); puid = puid.Replace("UA_", "PU_"); szTargetId = szTargetId.Replace("UA_", "PU_"); if (szTargetId == puid) { localPath = getLocalPath2(puid, szFileName); localPath += "\\" + fileName; } //else if (szTargetId.StartsWith("NRU_")) //{ // localPath = GetLocalSaveDir(szTargetId, szFileName); // localPath += "\\" + fileName; // // BVCU_FTP_RecordFileInfo info = new BVCU_FTP_RecordFileInfo(); // // info.szFileName = szFileName; // // //localPath = GetLocalSaveDir(szTargetId, info); // // localPath = GetLocalSaveDir(szTargetId, info); // // if (localPath == null || localPath.Length == 0) { return null; } // // localPath += "\\" + fileName; //} return(localPath); }
public int SearchFileBySeach(string puId, DateTime beginTime, DateTime endTime) { string CurrentPuId = puId; int CurrentChannelInex = 0; object userData = null; int FilterFileType = (int)BVSDKAdapter.BVCU_STORAGE_FILE_TYPE.ALL; int rc = -1; BVCU_SearchInfo searchInfo = new BVCU_SearchInfo(); searchInfo.iPostition = 0; searchInfo.iCount = 128; searchInfo.iType = (int)BVSDKAdapter.BVCU_SEARCH_TYPE.BVCU_SEARCH_TYPE_FILE; BVCU_Search_FileFilter fileFilter = new BVCU_Search_FileFilter(); fileFilter.puID = CurrentPuId; fileFilter.iChannelIndex = CurrentChannelInex; fileFilter.iTimeBegin = BVSDKAdapter.getSec(beginTime); fileFilter.iTimeEnd = BVSDKAdapter.getSec(endTime); fileFilter.iFileType = FilterFileType; //(m_bvsdkHandle, m_server.sessionHandle); int isize = Marshal.SizeOf(typeof(BVCU_Search_FileFilter)); BVCU_Search_Request request = new BVCU_Search_Request(); request.stSearchInfo = searchInfo; IntPtr ptFileFilter = IntPtr.Zero; IntPtr ptRequest = IntPtr.Zero; int iSize = Marshal.SizeOf(typeof(BVCU_Search_FileFilter)); ptFileFilter = Marshal.AllocHGlobal(iSize); if (ptFileFilter == IntPtr.Zero) { return(BVSDKAdapter.BVCU_RESULT_E.FAILED); } request.pData = BVCU_Search_Request.CreateDataArray(); Marshal.StructureToPtr(fileFilter, ptFileFilter, false); Marshal.Copy(ptFileFilter, request.pData, 0, Marshal.SizeOf(typeof(BVCU_Search_FileFilter))); ptRequest = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(BVCU_Search_Request))); if (ptRequest == IntPtr.Zero) { Marshal.FreeHGlobal(ptFileFilter); return(BVSDKAdapter.BVCU_RESULT_E.FAILED); } Marshal.StructureToPtr(request, ptRequest, false); IntPtr ptNruTarget = Marshal.StringToHGlobalAnsi(CurrentPuId); SearchCommon.SearchUserData searchUserData = new SearchCommon.SearchUserData(); searchUserData.stSearchInfo = searchInfo; searchUserData.oData = fileFilter; searchUserData.userData = userData; int iIndexUserData = userDataDeposit.DepositAData(searchUserData); rc = BVCU.ManagedLayer_Search_File(m_bvsdkHandle, m_server.sessionHandle, ptNruTarget, ptRequest, (IntPtr)iIndexUserData); Marshal.FreeHGlobal(ptFileFilter); Marshal.FreeHGlobal(ptRequest); Marshal.FreeHGlobal(ptNruTarget); return(rc); }
public void showRecord(EventHandler.BVSearchResponse searchRes, string szTargetID) { if (dataGridViewRecord.RowCount != 0) { dataGridViewRecord.Rows.Clear(); } m_szTarID = szTargetID; int channelNo; float percent = 0; foreach (BVCU_Search_FileInfo fileInfo in searchRes.fileInfo) { int index = this.dataGridViewRecord.Rows.Add(); dataGridViewRecord.Rows[index].Cells[0].Value = index.ToString(); dataGridViewRecord.Rows[index].Cells[1].Value = szTargetID; string fileName = BVSDKAdapter.ParsePathGetFileName(fileInfo.filePath); int.TryParse(fileName.Substring(0, fileName.Length), out channelNo); string channelNoStr = channelNo.ToString("00"); dataGridViewRecord.Rows[index].Cells[2].Value = channelNoStr; dataGridViewRecord.Rows[index].Cells[3].Value = BVSDKAdapter.GetRecordReason(fileInfo.iRecordType); dataGridViewRecord.Rows[index].Cells[4].Value = BVSDKAdapter.getDateTimeFromMicroSecond(fileInfo.iTimeBegin * 1000000).ToString("yyyy-MM-dd HH:mm:ss");; dataGridViewRecord.Rows[index].Cells[5].Value = BVSDKAdapter.getDateTimeFromMicroSecond(fileInfo.iTimeEnd * 1000000).ToString("yyyy-MM-dd HH:mm:ss");; dataGridViewRecord.Rows[index].Cells[6].Value = getFileType(fileInfo.iFileType); dataGridViewRecord.Rows[index].Cells[7].Value = (float)Math.Round((fileInfo.iFileSize / (float)(1024 * 1024)), 2); dataGridViewRecord.Rows[index].Cells[8].Value = (float)Math.Round(percent * 100, 2); dataGridViewRecord.Rows[index].Cells[9].Value = BVSDKAdapter.ParsePathGetFileName(fileInfo.filePath); dataGridViewRecord.Rows[index].Cells[10].Value = fileInfo.filePath; dataGridViewRecord.Rows[index].Cells[11].Value = fileInfo.desc1; dataGridViewRecord.Rows[index].Cells[12].Value = fileInfo.desc2; dataGridViewRecord.Rows[index].Tag = fileInfo; dataGridViewRecord.Rows[index].ContextMenuStrip = contextMenuStripFileDown; } }