public List <TDIO_StrmFileInfo> DIOQueryFileList(uint loginid, string pChannelId, DateTime st, DateTime et) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXStreamIOSDKProtocol StrmGetVideoInfo loginid:" + loginid + ",pChannelId:" + pChannelId + ",st:" + st.ToString("yyyyMMddHHmmss") + ",et:" + et.ToString("yyyyMMddHHmmss")); uint pdwQueryStrmFilesHandle; TDIO_QueryFileCondition query = new TDIO_QueryFileCondition() { tStart = DataModel.Common.ConvertLinuxTime(st), tStop = DataModel.Common.ConvertLinuxTime(et), szRest = "", }; UInt32 retVal = IVXDIOSDKProtocol.DIOCreateQueryStrmFilesList(loginid, pChannelId, ref query, out pdwQueryStrmFilesHandle); if (retVal > 0) { DIO_GetError(retVal); } List <TDIO_StrmFileInfo> ret = new List <TDIO_StrmFileInfo>(); StringBuilder sb = new StringBuilder(); while (true) { TDIO_StrmFileInfo info = new TDIO_StrmFileInfo(); uint pdwQueryOverFlag; IVXDIOSDKProtocol.DIOGetNextFileInfo(pdwQueryStrmFilesHandle, out info, out pdwQueryOverFlag); if (pdwQueryOverFlag == 0) { break; } else { ret.Add(info); sb.AppendLine("qwFileSize:" + info.qwFileSize + ",tStart:" + info.tStart + ",tStop:" + info.tStop + ",szRest:" + info.szRest); } } IVXDIOSDKProtocol.DIOCloseQueryStrmFilesList(pdwQueryStrmFilesHandle); MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXStreamIOSDKProtocol StrmGetVideoInfo ret:" + 0 + ",list:" + sb.ToString()); return(ret); }
public List <TDIO_StrmFileInfo> DIOQueryFileList(uint loginid, string pChannelId, DateTime st, DateTime et) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXStreamIOSDKProtocol StrmGetVideoInfo loginid:" + loginid + ",pChannelId:" + pChannelId + ",st:" + st.ToString("yyyyMMddHHmmss") + ",et:" + et.ToString("yyyyMMddHHmmss")); IntPtr ptr = Marshal.AllocHGlobal(1000); uint ChlNum = 0; TDIO_QueryFileCondition query = new TDIO_QueryFileCondition() { tStart = DataModel.Common.ConvertLinuxTime(st), tStop = DataModel.Common.ConvertLinuxTime(et), szRest = "", }; IVXStreamIOSDKProtocol.StrmGetVideoNum(loginid, pChannelId, ref query, out ChlNum); IntPtr pchlinfo = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(TDIO_StrmFileInfo)) * (int)ChlNum); uint retVal = IVXStreamIOSDKProtocol.StrmGetVideoInfo(loginid, pChannelId, ref query, ChlNum, pchlinfo); if (retVal > 0) { DIO_GetError(retVal); } List <TDIO_StrmFileInfo> ret = new List <TDIO_StrmFileInfo>(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < ChlNum; i++) { TDIO_StrmFileInfo temp = (TDIO_StrmFileInfo)Marshal.PtrToStructure(pchlinfo + Marshal.SizeOf(typeof(TDIO_StrmFileInfo)) * i, typeof(TDIO_StrmFileInfo)); if (temp.qwFileSize == 0) { continue; } ret.Add(temp); sb.AppendLine(string.Format("szFileId:{0},tStart:{1},tStop:{2},qwFileSize:{3}", temp.szFileId, temp.tStart, temp.tStop, temp.qwFileSize)); } MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXStreamIOSDKProtocol StrmGetVideoInfo ret:" + 0 + ",list:" + sb.ToString()); return(ret); }
public static extern UInt32 DIOGetNextFileInfo(UInt32 dwQueryStrmFilesHandle, out TDIO_StrmFileInfo ptFileInfo, out UInt32 pdwQueryOverFlag);