大华网络SDK开发手册 下载本文

网络客户端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 页