private static extern int CLIENT_DownloadByTime(int lLoginID, int nChannelId, int nRecordFileType, ref  NET_TIME tmStart, ref  NET_TIME tmEnd, string sSavedFileName, fTimeDownLoadPosCallBack cbTimeDownLoadPos, IntPtr dwUserData);
 private static extern int CLIENT_PlayBackByTimeEx(int lLoginID,int nChannelID, ref NET_TIME lpStartTime,
                                                   ref NET_TIME lpStopTime, IntPtr hWnd,
                                                   fDownLoadPosCallBack cbDownLoadPos, IntPtr dwPosUser,
                                                   fDataCallBack fDownLoadDataCallBack, IntPtr dwDataUser);
 private static extern int CLIENT_PlayBackByTime(int lLoginID, int nChannelID, ref NET_TIME lpStartTime,
                                                 ref NET_TIME lpStopTime, IntPtr hWnd,
                                                 fDownLoadPosCallBack cbDownLoadPos,
                                                 IntPtr dwUserData);
 private static extern bool CLIENT_QueryRecordFile(int lLoginID, int nChannelId, int nRecordFileType, ref NET_TIME tmStart, ref NET_TIME tmEnd, string pchCardid, IntPtr nriFileinfo, int maxlen, out  int filecount, int waittime, bool bTime);
 /// <summary>
 /// Windows系统标准时间格式转为自定义格式
 /// </summary>
 /// <param name="dateTime">系统时间对象</param>
 /// <returns>自定义时间格式的时间数据</returns>
 private static NET_TIME ToNetTime(DateTime dateTime)
 {
     NET_TIME result = new NET_TIME();
     result.dwYear = dateTime.Year;
     result.dwMonth = dateTime.Month;
     result.dwDay = dateTime.Day;
     result.dwHour = dateTime.Hour;
     result.dwMinute = dateTime.Minute;
     result.dwSecond = dateTime.Second;
     return result;
 }
 /// <summary>
 /// 设定DVR时间[默认等待时间3000]
 /// </summary>
 /// <param name="lLoginID">设备用户登录ID:CLIENT_Login的返回值</param>
 /// <param name="dvrTime">时间参数</param>
 /// <returns>true:成功;false:失败</returns>
 public static bool DHSetDevConfig(int lLoginID, NET_TIME dvrTime)
 {
     return DHSetDevConfig(lLoginID, dvrTime, 3000);
 }
 /// <summary>
 /// 设定DVR时间
 /// </summary>
 /// <param name="lLoginID">设备用户登录ID:CLIENT_Login的返回值</param>
 /// <param name="dvrTime">时间参数</param>
 /// <param name="waittime">等待时间</param>
 /// <returns>true:成功;false:失败</returns>
 public static bool DHSetDevConfig(int lLoginID,NET_TIME dvrTime, int waittime)
 {
     
     bool returnValue = false;
     returnValue = PSetDevConfig(lLoginID, -1, CONFIG_COMMAND.DH_DEV_TIMECFG, (object)dvrTime, typeof(NET_TIME), waittime);
     return returnValue;
 }
 /// <summary>
 ///  获取DVR时间
 /// </summary>
 /// <param name="lLoginID">设备用户登录ID:CLIENT_Login的返回值</param>
 /// <param name="dvrTime">时间参数</param>
 /// <param name="waittime">等待时间</param>
 /// <returns>true:成功;false:失败</returns>
 public static bool DHGetDevConfig(int lLoginID, ref NET_TIME dvrTime, int waittime)
 {
     object result = new object();
     bool returnValue = false;
     returnValue = PGetDevConfig(lLoginID, -1, CONFIG_COMMAND.DH_DEV_TIMECFG, ref result, typeof(NET_TIME), waittime);
     dvrTime = (NET_TIME)result;
     return returnValue;
 }