#include #include #include #include //#include "Windows.h" #include "HCNetSDK.h" #include using namespace std; #define XML_BUF 3*1024*1024 void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser) { char tempbuf[256] = {0}; switch(dwType) { case EXCEPTION_RECONNECT: // 预览时重连 printf("----------reconnect--------%d\n", time(NULL)); break; default: break; } } int main() { DWORD dwRet; NET_DVR_Init(); NET_DVR_SetConnectTime(2000, 1); NET_DVR_SetReconnect(10000, true); NET_DVR_SetExceptionCallBack_V30(0, NULL,g_ExceptionCallBack, NULL); LONG lUserID; NET_DVR_DEVICEINFO_V30 struDeviceInfo; lUserID = NET_DVR_Login_V30("192.168.1.101", 8000, "admin", "a1234567", &struDeviceInfo); if (lUserID < 0) { printf("NET_DVR_Login_V30 failed, err: %d\n", NET_DVR_GetLastError()); NET_DVR_Cleanup(); return -1; } //报警时间段 NET_DVR_SCHEDTIME net_dvr_schedtime = {0}; net_dvr_schedtime.byStartHour = 0; net_dvr_schedtime. byStartMin = 1; net_dvr_schedtime.byStopHour = 11; net_dvr_schedtime.byStopMin = 59; //报警设置信息 NET_DVR_ALARMOUTCFG_V30 net_dvr_alarmoutcfg = {0}; net_dvr_alarmoutcfg.dwSize = sizeof(net_dvr_alarmoutcfg); net_dvr_alarmoutcfg.sAlarmOutName = "ac"; net_dvr_alarmoutcfg.dwAlarmOutDelay = 0; net_dvr_alarmoutcfg.struAlarmOutTime = &net_dvr_schedtime; net_dvr_alarmoutcfg.byRes[16] = 0; if(!NET_DVR_SetDVRConfig(lUserID,NET_DVR_SET_ALARMOUTCFG_V30,0,&net_dvr_alarmoutcfg,net_dvr_alarmoutcfg.dwSize)){ printf("NET_DVR_SetDVRConfig failed, err: %d\n", NET_DVR_GetLastError()); } //开启警报 ; if(!NET_DVR_SetAlarmOut(lUserID,0xff00,1)){ printf("NET_DVR_SetAlarmOut failed, err: %d\n", NET_DVR_GetLastError()); } int i =5000; while(i>0){ i--; } //解除警报 NET_DVR_SetAlarmOut(lUserID,0xff00,0); //注销用户 NET_DVR_Logout(lUserID); //释放SDK资源 NET_DVR_Cleanup(); return 0; }