📄 hcnetsdk.h
字号:
/*数组1: 远程手动录象*/ /*数组2: 远程回放 */ /*数组3: 远程设置参数*/ /*数组4: 远程查看状态、日志*/ /*数组5: 远程高级操作(升级,格式化,重启,关机)*/ /*数组6: 远程发起语音对讲*/ /*数组7: 远程预览*/ /*数组8: 远程请求报警上传、报警输出*/ /*数组9: 远程控制,本地输出*/ /*数组10: 远程控制串口*/ DWORD dwNetPreviewRight; /* 远程可以预览的通道 bit0 -- channel 1*/ DWORD dwNetPlaybackRight; /* 远程可以回放的通道 bit0 -- channel 1*/ char sUserIP[16]; /* 用户IP地址(为0时表示允许任何地址) */ BYTE byMACAddr[MACADDR_LEN]; /* 物理地址 */}NET_DVR_USER_INFO_EX,*LPNET_DVR_USER_INFO_EX;typedef struct{ DWORD dwSize; NET_DVR_USER_INFO_EX struUser[MAX_USERNUM];}NET_DVR_USER_EX,*LPNET_DVR_USER_EX;//DVR异常参数typedef struct{ DWORD dwSize; NET_DVR_HANDLEEXCEPTION struExceptionHandleType[MAX_EXCEPTIONNUM]; /*数组0-盘满,1- 硬盘出错,2-网线断,3-局域网内IP 地址冲突,4-非法访问, 9-输入/输出视频制式不匹配*/}NET_DVR_EXCEPTION,*LPNET_DVR_EXCEPTION;typedef struct{ char sFileName[100];//文件名 NET_DVR_TIME struStartTime;//文件的开始时间 NET_DVR_TIME struStopTime;//文件的结束时间 DWORD dwFileSize;//文件的大小}NET_DVR_FIND_DATA,*LPNET_DVR_FIND_DATA;typedef struct tagFINDDATA_INTER{ char sFileName[100];//文件名 NET_DVR_TIME struStartTime;//文件的开始时间 NET_DVR_TIME struStopTime;//文件的结束时间 DWORD dwFileSize;//文件的大小 char sCardNum[32];}NET_DVR_FINDDATA_INTER,*LPNET_DVR_FINDDATA_INTER;typedef struct { BYTE byRecordStatic; //通道是否在录像,0-不录像,1-录像 BYTE bySignalStatic; //连接的信号状态,0-正常,1-异常 BYTE byHardwareStatic;//通道硬件状态,0-正常,1-异常,例如DSP死掉 char reservedData; DWORD dwBitRate;//实际码率 DWORD dwLinkNum;//客户端连接的个数 DWORD dwClientIP[MAX_LINK];//客户端的IP地址}NET_DVR_CHANNELSTATE,*LPNET_DVR_CHANNELSTATE;typedef struct { DWORD dwVolume;//硬盘的容量 DWORD dwFreeSpace;//硬盘的剩余空间 DWORD dwHardDiskStatic; //硬盘的状态,按位:1-休眠,2-不正常}NET_DVR_DISKSTATE,*LPNET_DVR_DISKSTATE;typedef struct{ DWORD dwDeviceStatic; //设备的状态,0-正常,1-CPU占用率太高,超过85%,2-硬件错误,例如串口死掉 NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM]; NET_DVR_CHANNELSTATE struChanStatic[MAX_CHANNUM];//通道的状态 BYTE byAlarmInStatic[MAX_ALARMIN]; //报警端口的状态,0-没有报警,1-有报警 BYTE byAlarmOutStatic[MAX_ALARMOUT]; //报警输出端口的状态,0-没有输出,1-有报警输出 DWORD dwLocalDisplay;//本地显示状态,0-正常,1-不正常}NET_DVR_WORKSTATE,*LPNET_DVR_WORKSTATE;//DVR日志 /* 报警 *///主类型#define MAJOR_ALARM 0x1//次类型#define MINOR_ALARM_IN 0x1 /* 报警输入 */#define MINOR_ALARM_OUT 0x2 /* 报警输出 */#define MINOR_MOTDET_START 0x3 /* 移动侦测报警开始 */#define MINOR_MOTDET_STOP 0x4 /* 移动侦测报警结束 */#define MINOR_HIDE_ALARM_START 0x5 /* 遮挡报警开始 */#define MINOR_HIDE_ALARM_STOP 0x6 /* 遮挡报警结束 *//* 异常 *///主类型#define MAJOR_EXCEPTION 0x2//次类型#define MINOR_VI_LOST 0x21 /* 信号丢失 */#define MINOR_ILLEGAL_ACCESS 0x22 /* 非法访问 */#define MINOR_HD_FULL 0x23 /* 硬盘满 */#define MINOR_HD_ERROR 0x24 /* 硬盘错误 */#define MINOR_DCD_LOST 0x25 /* MODEM 掉线 */#define MINOR_IP_CONFLICT 0x26 /* IP地址冲突 */#define MINOR_NET_BROKEN 0x27 /* 网线断 *//* 操作 *///主类型#define MAJOR_OPERATION 0x3//次类型#define MINOR_START_DVR 0x41 /* 开机 */#define MINOR_STOP_DVR 0x42 /* 关机 */#define MINOR_STOP_ABNORMAL 0x43 /* 非法关机 */#define MINOR_LOCAL_LOGIN 0x50 /* 本地登陆 */#define MINOR_LOCAL_LOGOUT 0x51 /* 本地注销登陆 */#define MINOR_LOCAL_CFG_PARM 0x52 /* 本地配置参数 */#define MINOR_LOCAL_PLAYBYFILE 0x53 /* 本地按文件回放 */#define MINOR_LOCAL_PLAYBYTIME 0x54 /* 本地按时间回放 */#define MINOR_LOCAL_START_REC 0x55 /* 本地开始录像 */#define MINOR_LOCAL_STOP_REC 0x56 /* 本地停止录像 */#define MINOR_LOCAL_PTZCTRL 0x57 /* 本地云台控制 */#define MINOR_LOCAL_PREVIEW 0x58 /* 本地预览 */#define MINOR_LOCAL_MODIFY_TIME 0x59 /* 本地修改时间 */#define MINOR_LOCAL_UPGRADE 0x5a /* 本地升级 */#define MINOR_LOCAL_COPYFILE 0x5b /* 本地备份文件 */#define MINOR_REMOTE_LOGIN 0x70 /* 远程登录 */#define MINOR_REMOTE_LOGOUT 0x71 /* 远程注销登陆 */#define MINOR_REMOTE_START_REC 0x72 /* 远程开始录像 */#define MINOR_REMOTE_STOP_REC 0x73 /* 远程停止录像 */#define MINOR_START_TRANS_CHAN 0x74 /* 开始透明传输 */#define MINOR_STOP_TRANS_CHAN 0x75 /* 停止透明传输 */#define MINOR_REMOTE_GET_PARM 0x76 /* 远程获得参数 */#define MINOR_REMOTE_CFG_PARM 0x77 /* 远程配置参数 */#define MINOR_REMOTE_GET_STATUS 0x78 /* 远程获得状态 */#define MINOR_REMOTE_ARM 0x79 /* 远程布防 */#define MINOR_REMOTE_DISARM 0x7a /* 远程撤防 */#define MINOR_REMOTE_REBOOT 0x7b /* 远程重启 */#define MINOR_START_VT 0x7c /* 开始语音对讲 */#define MINOR_STOP_VT 0x7d /* 停止语音对讲 */#define MINOR_REMOTE_UPGRADE 0x7e /* 远程升级 */#define MINOR_REMOTE_PLAYBYFILE 0x7f /* 远程按文件回放 */#define MINOR_REMOTE_PLAYBYTIME 0x80 /* 远程按时间回放 */#define MINOR_REMOTE_PTZCTRL 0x81 /* 远程云台控制 */typedef struct { NET_DVR_TIME strLogTime; DWORD dwMajorType; //主类型 1-报警; 2-异常; 3-操作; 0xff-全部 DWORD dwMinorType;//次类型 0xff-全部; BYTE sPanelUser[MAX_NAMELEN]; //操作面板的用户名 BYTE sNetUser[MAX_NAMELEN];//网络操作的用户名 char sRemoteHostAddr[16];//远程主机地址 DWORD dwParaType;//参数类型 DWORD dwChannel;//通道号 DWORD dwDiskNumber;//硬盘号 DWORD dwAlarmInPort;//报警输入端口 DWORD dwAlarmOutPort;//报警输出端口}NET_DVR_LOG,*LPNET_DVR_LOG;typedef struct { char sRedirectorIP[16]; // 转发服务器IP地址 WORD wRedirectorPort; //端口号}NET_DVR_REDIRECTORINFO, *LPNET_DVR_REDIRECTORINFO;typedef struct{ char Output[MAX_ALARMOUT];}NET_DVR_ALARMOUTSTATUS,*LPNET_DVR_ALARMOUTSTATUS;typedef struct{ DWORD dwSize; DWORD dwYear; DWORD dwMonth; DWORD dwDay; DWORD dwHour; DWORD dwMinute; DWORD dwSecond; BYTE DeviceName[24]; DWORD dwChannelNumer; BYTE CardNumber[32]; char cTradeType[12]; DWORD dwCash;}NET_DVR_TRADEINFO,*LPNET_DVR_TRADEINFO;//ATM TYPE#define NCR 0#define DIEBOLD 1#define WINCOR_NIXDORF 2#define SIEMENS 3#define OLIVETTI 4#define FUJITSU 5#define HITACHI 6#define SMI 7#define IBM 8#define BULL 9#define YiHua 10#define LiDe 11#define GDYT 12#define Mini_Banl 13#define GuangLi 14#define DongXin 15#define ChenTong 16#define NanTian 17#define XiaoXing 18#define GZYY 19#define QHTLT 20/*帧格式*/typedef struct{ BYTE code[12]; /* 代码 */}NET_DVR_FRAMETYPECODE;typedef struct{ DWORD dwSize; char sATMIP[16]; /* ATM IP地址 */ DWORD dwATMType; /* ATM类型 */ DWORD dwInputMode; /* 输入方式*/ /*0-网络侦听 1-网络接收 2-串口直接输入 3-串口ATM命令输入*/ DWORD dwFrameSignBeginPos; /* 报文标志位的起始位置*/ DWORD dwFrameSignLength; /* 报文标志位的长度 */ BYTE byFrameSignContent[12]; /* 报文标志位的内容 */ DWORD dwCardLengthInfoBeginPos; /* 卡号长度信息的起始位置 */ DWORD dwCardLengthInfoLength; /* 卡号长度信息的长度 */ DWORD dwCardNumberInfoBeginPos; /* 卡号信息的起始位置 */ DWORD dwCardNumberInfoLength; /* 卡号信息的长度 */ DWORD dwBusinessTypeBeginPos; /* 交易类型的起始位置 */ DWORD dwBusinessTypeLength; /* 交易类型的长度 */ NET_DVR_FRAMETYPECODE frameTypeCode[10];/* 类型 */}NET_DVR_FRAMEFORMAT,*LPNET_DVR_FRAMEFORMAT;//时区和夏时制typedef struct { DWORD dwMonth; //月 DWORD dwWeekNo; //第几周 DWORD dwWeekDate; //星期几 DWORD dwHour; //小时 DWORD dwMin; //分}NET_DVR_TIMEPOINT;typedef struct{ DWORD dwSize; DWORD dwZoneIndex; //0-PST; 1-MST; 2-CST; 3-EST; 4-HST; 5-AST; 6-AKST; char csZone[12]; //时区 DWORD dwEnableDST; //是否启用夏时制 0-不启用 1-启用 DWORD dwReserve; //保留(选择按星期还是按月) NET_DVR_TIMEPOINT struBeginPoint; //夏时制开始时间 NET_DVR_TIMEPOINT struEndPoint; //夏时制停止时间}NET_DVR_ZONEANDDST, *LPNET_DVR_ZONEANDDST;//DS-6001D/F 2005-06-29/*解码设备控制码定义*/#define NET_DEC_STARTDEC 1#define NET_DEC_STOPDEC 2#define NET_DEC_STOPCYCLE 3#define NET_DEC_CONTINUECYCLE 4/*连接的通道配置*/typedef struct { char sDVRIP[16]; /* DVR IP地址 */ WORD wDVRPort; /* 端口号 */ BYTE sUserName[NAME_LEN]; /* 用户名 */ BYTE sPassword[PASSWD_LEN]; /* 密码 */ BYTE byChannel; /* 通道号 */ BYTE byLinkMode; /* 连接模式 */ BYTE byLinkType; /* 连接类型 0-主码流 1-子码流 */}NET_DVR_DECCHANINFO, *LPNET_DVR_DECCHANINFO;/*每个解码通道的配置*/typedef struct { BYTE byPoolChans; /*每路解码通道上的循环通道数量, 最多4通道 0表示没有解码*/ NET_DVR_DECCHANINFO struchanConInfo[MAX_DECPOOLNUM]; BYTE byEnablePoll; /*是否轮巡 0-否 1-是*/ BYTE byPoolTime; /*轮巡时间 0-保留 1-10秒 2-15秒 3-20秒 4-30秒 5-45秒 6-1分钟 7-2分钟 8-5分钟 */ }NET_DVR_DECINFO, *LPNET_DVR_DECINFO;/*整个设备解码配置*/typedef struct { DWORD dwSize; DWORD dwDecChanNum; /*解码通道的数量*/ NET_DVR_DECINFO struDecInfo[MAX_DECNUM];}NET_DVR_DECCFG, *LPNET_DVR_DECCFG;//2005-08-01/* 解码设备透明通道设置 */typedef struct { DWORD dwEnableTransPort; /* 是否启动透明通道 0-不启用 1-启用*/ char sDecoderIP[16]; /* DVR IP地址 */ WORD wDecoderPort; /* 端口号 */ WORD wDVRTransPort; /* 配置前端DVR是从485/232输出,1表示232串口,2表示485串口 */ char cReserve[4];}NET_DVR_PORTINFO, *LPNET_DVR_PORTINFO;typedef struct { DWORD dwSize; NET_DVR_PORTINFO struTransPortInfo[MAX_TRANSPARENTNUM]; /* 数组0表示232 数组1表示485 */}NET_DVR_PORTCFG, *LPNET_DVR_PORTCFG;/* 控制网络文件回放 */typedef struct { DWORD dwSize; char sDecoderIP[16]; /* DVR IP地址 */ WORD wDecoderPort; /* 端口号 */ WORD wLoadMode; /* 回放下载模式 1-按名字 2-按时间 */ union { BYTE byFile[100]; /* 回放的文件名 */ struct { DWORD dwChannel; BYTE sUserName[NAME_LEN]; /*请求视频用户名*/ BYTE sPassword[PASSWD_LEN]; /* 密码 */ NET_DVR_TIME struStartTime; /* 按时间回放的开始时间 */ NET_DVR_TIME struStopTime; /* 按时间回放的结束时间 */ }bytime; }mode_size;}NET_DVR_PLAYREMOTEFILE,*LPNET_DVR_PLAYREMOTEFILE;/*当前设备解码连接状态*/typedef struct { DWORD dwWorkType; /*工作方式:1:轮巡、2:动态连接解码、3:文件回放下载 4:按时间回放下载*/ char sDVRIP[16]; /*连接的设备ip*/ WORD wDVRPort; /*连接端口号*/ BYTE byChannel; /* 通道号 */ BYTE byLinkMode; /* 连接模式 */ DWORD dwLinkType; /*连接类型 0-主码流 1-子码流*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -