private static extern int CLIENT_PlayBackByTimeEx2(int lLoginID, int nChannelID, ref NET_IN_PLAY_BACK_BY_TIME_INFO pstNetIn, ref NET_OUT_PLAY_BACK_BY_TIME_INFO pstNetOut);
public static extern IntPtr CLIENT_PlayBackByTimeEx2(IntPtr lLoginID, int nChannelID, ref NET_IN_PLAY_BACK_BY_TIME_INFO pstNetIn, ref NET_OUT_PLAY_BACK_BY_TIME_INFO pstNetOut);
public static int NETPlayBackByTimeEx2(int lLoginID, int nChannelID, DateTime tmStart, DateTime tmEnd, IntPtr hWnd, fDownLoadPosCallBack cbDownLoadPos, IntPtr dwPosUser, fDataCallBack fDownLoadDataCallBack, IntPtr dwDataUser, int nDirection, int nWaittime) { try { int returnValue = 0; NET_IN_PLAY_BACK_BY_TIME_INFO pbTimeInParam = new NET_IN_PLAY_BACK_BY_TIME_INFO(); pbTimeInParam.stStartTime = ToNetTime(tmStart); pbTimeInParam.stStopTime = ToNetTime(tmEnd); pbTimeInParam.hWnd = hWnd; pbTimeInParam.cbDownLoadPos = cbDownLoadPos; pbTimeInParam.dwPosUser = dwPosUser; pbTimeInParam.fDownLoadDataCallBack = fDownLoadDataCallBack; pbTimeInParam.dwDataUser = dwDataUser; pbTimeInParam.nPlayDirection = nDirection; pbTimeInParam.nWaittime = nWaittime; NET_OUT_PLAY_BACK_BY_TIME_INFO pbTimeOutParam = new NET_OUT_PLAY_BACK_BY_TIME_INFO(); returnValue = CLIENT_PlayBackByTimeEx2(lLoginID, nChannelID, ref pbTimeInParam, ref pbTimeOutParam); NETThrowLastError(returnValue); return returnValue; } catch (Exception e) { NETThrowLastError(e); return 0; } }