📄 dhnetsdk.h
字号:
/************************************************************************
** 设置设备限制码流
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SetMaxFlux(LONG lLoginID, WORD wFlux);
//要新加的,未实现
/************************************************************************
** 通过设备名字或者设备序列号向DDNS服务器查询设备IP
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_GetDVRIPByResolveSvr(char *pchDVRIP, WORD wDVRPort,
BYTE *sDVRName, WORD wDVRNameLen,
BYTE *sDVRSerialNumber, WORD wDVRSerialLen,
char* sGetIP);
/************************************************************************
** 设置实时预览缓冲大小
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SetPlayerBufNumber(LONG lRealHandle, DWORD dwBufNum);
/************************************************************************
** 通过时间回放录像
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByTime(LONG lLoginID, int nChannelID,
LPNET_TIME lpStartTime, LPNET_TIME lpStopTime, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwPosUser);
/************************************************************************
** 通过时间回放录像扩展_增加了数据回调参数
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByTimeEx(LONG lLoginID, int nChannelID,
LPNET_TIME lpStartTime, LPNET_TIME lpStopTime, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwPosUser,
fDataCallBack fDownLoadDataCallBack, DWORD dwDataUser);
/************************************************************************
** 通过时间下载文件
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_GetFileByTime(LONG lLoginID, int nChannelID,
LPNET_TIME lpStartTime, LPNET_TIME lpStopTime, char *sSavedFileName);
/************************************************************************
** 网络回放控制
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_PlayBackControl(LONG lPlayHandle,
DWORD dwControlCode, DWORD dwInValue, DWORD *lpOutValue);
/************************************************************************
** 开始查找录像文件
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_FindFile(LONG lLoginID,
int nChannelId,
int nRecordFileType,
char* cardid,
LPNET_TIME time_start,
LPNET_TIME time_end,
bool bTime,
int waittime);
/************************************************************************
** 查找录像文件
***********************************************************************/
CLIENT_API int CALL_METHOD CLIENT_FindNextFile(LONG lFindHandle,LPNET_RECORDFILE_INFO lpFindData);
/************************************************************************
** 结束录像文件查找
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_FindClose(LONG lFindHandle);
/************************************************************************
** 重启设备:返回值 TRUE 成功, FALSE 失败
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_RebootDev(LONG lLoginID);
/************************************************************************
** 关闭设备:返回值 TRUE 成功, FALSE 失败
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_ShutDownDev(LONG lLoginID);
/************************************************************************
** 常量定义
***********************************************************************/
#define NAME_LEN 32
#define MACADDR_LEN 6
#define MAX_ETHERNET 2
#define PATHNAME_LEN 128
#define PASSWD_LEN 16
#define MAX_TIMESEGMENT 4
#define MAX_PRESET 128
#define MAX_DAYS 7
#define PHONENUMBER_LEN 32
#define MAX_WINDOW 16
#define MAX_VGA 1
#define MAX_USERNUM 16
#define MAX_EXCEPTIONNUM 16
#define MAXCARD_NUM 40
#define MAX_SERIALNUM 2
#define CARDNUM_LEN 20
#define MAX_VIDEOOUT 2
#define MAX_DISPLAY_REGION 16
#define MAX_NAMELEN 16
#define MAX_RIGHT 32
#define MAX_SHELTERNUM 4
#define MAX_DECPOOLNUM 4
#define MAX_DECNUM 4
#define MAX_TRANSPARENTNUM 2
#define MAX_STRINGNUM 4
#define MAX_AUXOUT 4
typedef struct{
//开始时间
BYTE byStartHour;
BYTE byStartMin;
//结束时间
BYTE byStopHour;
BYTE byStopMin;
}NET_DEV_SCHEDTIME,*LPNET_DEV_SCHEDTIME;
/************************************************************************
** 设备系统配置结构
***********************************************************************/
typedef struct{
DWORD dwSize;
BYTE sDVRName[NAME_LEN]; /* DVR 名称 */
DWORD dwDVRID; /* DVR ID,用于遥控器 */
DWORD dwRecycleRecord; /* 是否循环录像,0:不是; 1:是 */
// 以下不能更改
BYTE sSerialNumber[SERIALNO_LEN]; /* 序列号 */
DWORD dwSoftwareVersion; /* 软件版本号,高 16 位是主版本,低 16 位是次版本 */
DWORD dwSoftwareBuildDate; /* 软件生成日期,0xYYYYMMDD */
DWORD dwDSPSoftwareVersion; /* DSP 软件版本,高 16 位是主版本,低 16 位是次版本 */
DWORD dwDSPSoftwareBuildDate; /* DSP 软件生成日期,0xYYYYMMDD */
DWORD dwPanelVersion; /* 前面板版本,高 16 位是主版本,低 16 位是次版本 */
DWORD dwHardwareVersion; /* 硬件版本,高 16 位是主版本,低 16 位是次版本 */
DWORD dwDVRType; /* DVR 类型, 1:DVR 2:ATM DVR 3:DVS 等等 */
BYTE byAlarmInPortNum; /* DVR 报警输入个数 */
BYTE byAlarmOutPortNum; /* DVR 报警输出个数 */
BYTE byRS232Num; /* DVR 232 串口个数 */
BYTE byRS485Num; /* DVR 485 串口个数 */
BYTE byNetworkPortNum; /* 网络口个数 */
BYTE byDiskCtrlNum; /* DVR 硬盘控制器个数 */
BYTE byDiskNum; /* DVR 硬盘个数 */
BYTE byChanNum; /* DVR 通道个数 */
BYTE byStartChan; /* 起始通道号,例如DVS-1,DVR – 1 */
BYTE byDecordChans; /* DVR 解码路数 */
BYTE byVGANum; /* VGA 口的个数 */
BYTE byUSBNum; /* USB 口的个数 */
}NET_DEV_DEVICECFG,*LPNET_DEV_DEVICECFG;
/************************************************************************
** 网络配置结构
***********************************************************************/
typedef struct {
char sDVRIP[16]; /* DVR IP 地址 */
char sDVRIPMask[16]; /* DVR IP 地址掩码 */
DWORD dwNetInterface; /* 10M/100M 自适应,索引 */
//1-10MBase - T
//2-10MBase-T 全双工
//3-100MBase - TX
//4-100M 全双工
//5-10M/100M 自适应
WORD wDVRPort; /* 端口号 */
BYTE byMACAddr[MACADDR_LEN]; /* 服务器的物理地址 */
}NET_DEV_ETHERNET;
typedef struct{
DWORD dwSize;
NET_DEV_ETHERNET struEtherNet[MAX_ETHERNET];/* 以太网口 */
char sManageHostIP[16]; /* 远程管理主机地址 */
WORD wManageHostPort; /* 远程管理主机端口号 */
char sDNSIP[16]; /* DNS 服务器地址 */
char sMultiCastIP[16]; /* 多播组地址 */
WORD wMultiCastPort; /* 多播端口 */
char sGatewayIP[16]; /* 网关地址 */
char sNFSIP[16]; /* NAS 主机IP 地址 */
BYTE sNFSDirectory[PATHNAME_LEN]; /* NAS 目录 */
DWORD dwPPPOE; /* 0-不启用,1-启用 */
BYTE sPPPoEUser[NAME_LEN]; /* PPPoE 用户名 */
char sPPPoEPassword[PASSWD_LEN]; /* PPPoE 密码 */
char sPPPoEIP[16]; //PPPoE IP 地址(只读)
WORD wHttpPort; //http 端口号
}NET_DEV_NETCFG,*LPNET_DEV_NETCFG;
/************************************************************************
** 通道图象配置结构
***********************************************************************/
typedef struct
{
DWORD dwHandleType; /*处理方式,处理方式的"或"结果*/
/*0x00: 无响应*/
/*0x01: 监视器上警告*/
/*0x02: 声音警告*/
/*0x04: 上传中心*/
/*0x08: 触发报警输出*/
BYTE byRelAlarmOut[MAX_ALARMOUT]; /* 报警触发的输出通道,报警触发的输出,为 1 表示触发该输出 */
}NET_DEV_HANDLEEXCEPTION;
typedef struct{
BYTE byMotionScope[18][22]; /*侦测区域,共有22*18 个小宏块,为 1 表示改宏块是移动侦测区域,0-表示不是*/
BYTE byMotionSenstive; /*移动侦测灵敏度, 0 - 5,越高越灵敏,0xff 关闭*/
BYTE byEnableHandleMotion; /* 是否处理移动侦测 */
NET_DEV_HANDLEEXCEPTION strMotionHandleType; /* 处理方式 */
NET_DEV_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];/* 布防时间 */
BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为 1 表示触发该通道
}NET_DEV_MOTION,*LPNET_DEV_MOTION;
//遮挡报警 区域大小704*576
typedef struct{
DWORD dwEnableHideAlarm; /* 是否启动遮挡报警 ,0-否,1-低灵敏度 2-中灵敏度 3-高灵敏度*/
WORD wHideAlarmAreaTopLeftX; /* 遮挡区域的x 坐标 */
WORD wHideAlarmAreaTopLeftY; /* 遮挡区域的y 坐标 */
WORD wHideAlarmAreaWidth; /* 遮挡区域的宽 */
WORD wHideAlarmAreaHeight; /*遮挡区域的高*/
NET_DEV_HANDLEEXCEPTION strHideAlarmHandleType; /* 处理方式 */
NET_DEV_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT]; /*布防时间 */
}NET_DEV_HIDEALARM,*LPNET_DEV_HIDEALARM;
//信号丢失报警
typedef struct{
BYTE byEnableHandleVILost; /* 是否处理信号丢失报警 */
NET_DEV_HANDLEEXCEPTION strVILostHandleType; /* 处理方式 */
NET_DEV_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT]; /* 布防时间 */
}NET_DEV_VILOST,*LPNET_DEV_VILOST;
typedef struct{
WORD wHideAreaTopLeftX; /* 遮挡区域的x 坐标 */
WORD wHideAreaTopLeftY; /* 遮挡区域的y 坐标 */
WORD wHideAreaWidth; /* 遮挡区域的宽 */
WORD wHideAreaHeight; /*遮挡区域的高*/
}NET_DEV_SHELTER,*LPNET_DEV_SHELTER;
typedef struct
{
DWORD dwSize;
BYTE sChanName[NAME_LEN];
DWORD dwVideoFormat; /* 只读 视频制式 1-NTSC 2-PAL*/
BYTE byBrightness; /*亮度,0-255*/
BYTE byContrast; /*对比度,0-255*/
BYTE bySaturation; /*饱和度,0-255 */
BYTE byHue; /*色调,0-255*/
//显示通道名
DWORD dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域大小704*576
WORD wShowNameTopLeftX; /* 通道名称显示位置的x 坐标 */
WORD wShowNameTopLeftY; /* 通道名称显示位置的y 坐标 */
//信号丢失报警
NET_DEV_VILOST struVILost;
//移动侦测
NET_DEV_MOTION struMotion;
//遮挡报警
NET_DEV_HIDEALARM struHideAlarm;
//遮挡 区域大小704*576
DWORD dwEnableHide; /* 是否启动遮挡 ,0-否,1-是*/
NET_DEV_SHELTER struShelter[MAX_SHELTERNUM];
//OSD
DWORD dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576
WORD wOSDTopLeftX; /* OSD 的x 坐标 */
WORD wOSDTopLeftY; /* OSD 的y 坐标 */
BYTE byOSDType; /* OSD 类型(主要是年月日格式) */
/* 0: XXXX-XX-XX 年月日 */
/* 1: XX-XX-XXXX 月日年 */
/* 2: XXXX 年XX 月XX 日 */
/* 3: XX 月XX 日XXXX 年 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -