diff --git a/HikNvr.go b/HikNvr.go index 2d036c7..7e7e458 100644 --- a/HikNvr.go +++ b/HikNvr.go @@ -84,7 +84,7 @@ func (h *HIKNvr) UTCDiff() int { if h.State { data := nvrUTCDiff(h.core) h.mux.RUnlock() - if nvrUTCDiff(h.core) == 500 { + if nvrUTCDiff(h.core) == 5000 { h.mux.Lock() h.State = false h.mux.Unlock() @@ -97,5 +97,5 @@ func (h *HIKNvr) UTCDiff() int { } else { h.mux.RUnlock() } - return 1000 + return 5000 } diff --git a/library.cpp b/library.cpp index 254bd39..4be7c2b 100644 --- a/library.cpp +++ b/library.cpp @@ -60,6 +60,8 @@ char *CheckTimeRegionWithMonth(void *PtrHIKNvr, int year, int month) { if (nRet == 0) { res = HIKNvrObj->TimeToJson(select_time, &available_date_vec).dump(); + }else{ + res = ""; } char *cString = new char[res.size() + 1]; std::strcpy(cString, res.c_str()); @@ -77,6 +79,8 @@ char *CheckTimeRegionWithDay(void *PtrHIKNvr, int year, int month, int day) { int nRet = HIKNvrObj->CheckTimeRegionWithDay(select_time, available_time_vec); if (nRet == 0) { res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump(); + }else{ + res = ""; } char *cString = new char[res.size() + 1]; std::strcpy(cString, res.c_str()); diff --git a/src/HIKNvr.cpp b/src/HIKNvr.cpp index bd1fdbf..6154314 100644 --- a/src/HIKNvr.cpp +++ b/src/HIKNvr.cpp @@ -30,7 +30,9 @@ bool HIKNvr::InitNvr(std::string ip, std::string port, std::string username, std int HIKNvr::GetNvrUTCDiff(){ NET_DVR_NETAPPCFG struNAC = {0}; DWORD ZoneSize = 0; - NET_DVR_GetDVRConfig(LoginID, NET_DVR_GET_NETAPPCFG, 0, &struNAC, sizeof(NET_DVR_NETAPPCFG), &ZoneSize); + if (NET_DVR_GetDVRConfig(LoginID, NET_DVR_GET_NETAPPCFG, 0, &struNAC, sizeof(NET_DVR_NETAPPCFG), &ZoneSize)){ + return 5000; + }; int nDiffHour = struNAC.struNtpClientParam.cTimeDifferenceH; int nDiffMin = struNAC.struNtpClientParam.cTimeDifferenceM; nDiffTotalMin = (nDiffHour < 0 ? -1 : 1) * (abs(nDiffHour) * 60 + nDiffMin);