网络客户端SDK编程手册
BYTE byChanNum; } NET_DEVICEINFO, *LPNET_DEVICEINFO;
//DVR通道个数
3.1.2 时间信息
typedef struct {
DWORD dwYear; DWORD dwMonth; DWORD dwDay; DWORD dwHour; DWORD dwMinute; DWORD dwSecond; } NET_TIME,*LPNET_TIME;
//年 //月 //日 //时 //分 //秒
3.1.3 录像文件信息
typedef struct {
unsigned int ch; //通道号 char filename[128]; //文件名 unsigned int size; //文件长度 NET_TIME starttime; //开始时间 NET_TIME endtime; //结束时间 unsigned int driveno; //磁盘号 unsigned int startcluster; //起始簇号 } NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;
3.1.4 设备状态信息
? 设备端通过回调主动上传的设备状态结构
typedef struct {
int channelcount; int alarminputcount;
unsigned char diskerror[MAX_DISKNUM]; unsigned char *record; //size:channelcount unsigned char *alarm; //size:alarminputcount unsigned char *motiondection; //size:channelcount unsigned char *videolost; //size:channelcount } NET_CLIENT_STATE;
第 17 页 共 93 页 网络客户端SDK编程手册
? 以下为查询的设备工作状态的相关结构
typedef struct {
BYTE byRecordStatic; //通道是否在录像,0-不录像,1-录像 BYTE bySignalStatic; //连接的信号状态,0-正常,1-信号丢失
BYTE byHardwareStatic; //通道硬件状态,0-正常,1-异常,例如DSP死掉 char reserve; //暂时无效
DWORD dwBitRate; //实际码率,暂时无效
DWORD dwLinkNum; //客户端连接的个数, 暂时无效 DWORD dwClientIP[MAX_LINK]; //客户端的IP地址,暂时无效 }NET_DEV_CHANNELSTATE,*LPNET_DEV_CHANNELSTATE; typedef struct {
DWORD dwVolume; //硬盘的容量 DWORD dwFreeSpace; //硬盘的剩余空间
DWORD dwStatus; //硬盘的状态,休眠,活动,不正常等 }NET_DEV_DISKSTATE,*LPNET_DEV_DISKSTATE; typedef struct{
DWORD dwDeviceStatic; //设备状态0x00 正常,0x01 CPU占用过高, 0x02 硬件错误 NET_DEV_DISKSTATE stHardDiskStatic[MAX_DISKNUM]; //设备暂时不支持 NET_DEV_CHANNELSTATE stChanStatic[MAX_CHANNUM]; //通道的状态
BYTE byAlarmInStatic[MAX_ALARMIN]; //报警端口的状态0-无报警,1-有报警
BYTE byAlarmOutStatic[MAX_ALARMOUT];//报警输出端口的状态0-无输出,1-有输出 DWORD dwLocalDisplay; //本地显示状态0-正常,1-不正常 }NET_DEV_WORKSTATE,*LPNET_DEV_WORKSTATE;
? 录像文件信息
typedef struct {
unsigned int ch; //通道号 char filename[128]; //文件名 unsigned int size; //文件长度 NET_TIME starttime; //开始时间 NET_TIME endtime; //结束时间 unsigned int driveno; //磁盘号 unsigned int startcluster; //起始簇号 } NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;
第 18 页 共 93 页 网络客户端SDK编程手册
? 串口协议信息(232和485)
typedef struct {
char protocolname[12]; unsigned int baudbase; unsigned char databits; unsigned char stopbits; unsigned char parity; unsigned char reserve;
} PROTOCOL_INFO, *LPPROTOCOL_INFO;
//协议名 //波特率 //数据位 //停止位 //校验位
? 报警IO控制(报警输出和报警输入使能)
typedef struct {
unsigned short index; unsigned short state; }ALARM_CONTROL;
//端口序号 //端口状态
? 用户管理功能数据结构
#define MAX_RIGHT_NUM #define MAX_GROUP_NUM #define MAX_USER_NUM #define RIGHT_NAME_LENGTH #define USER_NAME_LENGTH #define USER_PSW_LENGTH #define MEMO_LENGTH
100 20 200 32 8 8 32
typedef struct { DWORD dwID;
char name[RIGHT_NAME_LENGTH]; char memo[MEMO_LENGTH]; }OPR_RIGHT;
typedef struct { DWORD dwID;
DWORD dwGroupID;
char name[USER_NAME_LENGTH]; char passWord[USER_PSW_LENGTH]; DWORD dwRightNum;
DWORD rights[MAX_RIGHT_NUM]; char memo[MEMO_LENGTH]; }USER_INFO;
第 19 页 共 93 页 网络客户端SDK编程手册
typedef struct { DWORD dwID;
char name[USER_NAME_LENGTH]; DWORD dwRightNum;
DWORD rights[MAX_RIGHT_NUM]; char memo[MEMO_LENGTH]; }USER_GROUP_INFO;
? SDK返回的用户信息结构
typedef struct { DWORD OPR_RIGHT DWORD USER_GROUP_INFO DWORD USER_INFO }USER_MANAGE_INFO;
dwRightNum;
rightList[MAX_RIGHT_NUM]; dwGroupNum;
groupList[MAX_GROUP_NUM]; dwUserNum;
userList[MAX_USER_NUM];
? 日志信息
1. 日志的结构形式 //时间结构
typedef struct _DHTIME {
DWORD second :6; DWORD minute :6; DWORD hour :5; DWORD day :5; DWORD month :4; DWORD year :6; }DHTIME,*pDHTIME;
//日志结构
struct LOG_ITEM {
DHTIME time; WORD BYTE BYTE BYTE };
//日期
接口文档 数字视频录像机网络服务编程手册 公开 //类型
//标记, 0x00 正常,0x01 扩展,0x02 数据 //数据 //内容
// 秒 // 分 // 时 // 日 // 月 // 年 1-60 1-60 1-24 1-31 1-12 2000-2063
type; flag; data; context[8];
第 20 页 共 93 页