📄 hcnetsdk.h
字号:
#include "stdafx.h"
#define NET_DVR_API extern "C"__declspec(dllimport)
#define NET_DVR_NOERROR 0 //没有错误
#define NET_DVR_PASSWORD_ERROR 1 //用户名密码错误
#define NET_DVR_NOENOUGHPRI 2 //权限不足
#define NET_DVR_NOINIT 3 //没有初始化
#define NET_DVR_CHANNEL_ERROR 4 //通道号错误
#define NET_DVR_OVER_MAXLINK 5 //连接到DVR的客户端个数超过最大
#define NET_DVR_VERSIONNOMATCH 6 //版本不匹配
#define NET_DVR_NETWORK_FAIL_CONNECT 7 //连接服务器失败
#define NET_DVR_NETWORK_SEND_ERROR 8 //向服务器发送失败
#define NET_DVR_NETWORK_RECV_ERROR 9 //从服务器接收数据失败
#define NET_DVR_NETWORK_RECV_TIMEOUT 10 //从服务器接收数据超时
#define NET_DVR_NETWORK_ERRORDATA 11 //传送的数据有误
#define NET_DVR_ORDER_ERROR 12 //调用次序错误
#define NET_DVR_OPERNOPERMIT 13 //无此权限
#define NET_DVR_COMMANDTIMEOUT 14 //DVR命令执行超时
#define NET_DVR_ERRORSERIALPORT 15 //串口号错误
#define NET_DVR_ERRORALARMPORT 16 //报警端口错误
#define NET_DVR_PARAMETER_ERROR 17 //参数错误
#define NET_DVR_CHAN_EXCEPTION 18 //服务器通道处于错误状态
#define NET_DVR_NODISK 19 //没有硬盘
#define NET_DVR_ERRORDISKNUM 20 //硬盘号错误
#define NET_DVR_DISK_FULL 21 //服务器硬盘满
#define NET_DVR_DISK_ERROR 22 //服务器硬盘出错
#define NET_DVR_NOSUPPORT 23 //服务器不支持
#define NET_DVR_BUSY 24 //服务器忙
#define NET_DVR_MODIFY_FAIL 25 //服务器修改不成功
#define NET_DVR_PASSWORD_FORMAT_ERROR 26 //密码输入格式不正确
#define NET_DVR_DISK_FORMATING 27 //硬盘正在格式化,不能启动操作
#define NET_DVR_DVRNORESOURCE 28 //DVR资源不足
#define NET_DVR_DVROPRATEFAILED 29 //DVR操作失败
#define NET_DVR_OPENHOSTSOUND_FAIL 30 //打开PC声音失败
#define NET_DVR_DVRVOICEOPENED 31 //服务器语音对讲被占用
#define NET_DVR_TIMEINPUTERROR 32 //时间输入不正确
#define NET_DVR_NOSPECFILE 33 //回放时服务器没有指定的文件
#define NET_DVR_CREATEFILE_ERROR 34 //创建文件出错
#define NET_DVR_FILEOPENFAIL 35 //打开文件出错
#define NET_DVR_OPERNOTFINISH 36 //上次的操作还没有完成
#define NET_DVR_GETPLAYTIMEFAIL 37 //获取当前播放的时间出错
#define NET_DVR_PLAYFAIL 38 //播放出错
#define NET_DVR_FILEFORMAT_ERROR 39 //文件格式不正确
#define NET_DVR_DIR_ERROR 40 //路径错误
#define NET_DVR_ALLOC_RESOUCE_ERROR 41 //资源分配错误
#define NET_DVR_AUDIO_MODE_ERROR 42 //声卡模式错误
#define NET_DVR_NOENOUGH_BUF 43 //缓冲区太小
#define NET_DVR_CREATESOCKET_ERROR 44 //创建SOCKET出错
#define NET_DVR_SETSOCKET_ERROR 45 //创建SOCKET出错
#define NET_DVR_MAX_NUM 46 //个数达到最大
#define NET_DVR_USERNOTEXIST 47 //用户不存在
#define NET_DVR_WRITEFLASHERROR 48 //写FLASH出错
#define NET_DVR_UPGRADEFAIL 49 //DVR升级失败
#define NET_DVR_CARDHAVEINIT 50 //解码卡已经初始化过
#define NET_DVR_PLAYERFAILED 51 //播放器中错误
#define NET_DVR_MAX_USERNUM 52 //用户数达到最大
#define NET_DVR_GETLOCALIPANDMACFAIL 53 //获得客户端的IP地址或物理地址失败
#define NET_DVR_NOENCODEING 54 //该通道没有编码
//查找文件和日志函数返回值
#define NET_DVR_FILE_SUCCESS 1000 //获得文件信息
#define NET_DVR_FILE_NOFIND 1001 //没有文件
#define NET_DVR_ISFINDING 1002 //正在查找文件
#define NET_DVR_NOMOREFILE 1003 //查找文件时没有更多的文件
#define NET_DVR_FILE_EXCEPTION 1004 //查找文件时异常
//NET_DVR_IsSupport()返回值
//1-9位分别表示以下信息(位与是TRUE)表示支持;
#define NET_DVR_SUPPORT_DDRAW 0x01//支持DIRECTDRAW,如果不支持,则播放器不能工作;
#define NET_DVR_SUPPORT_BLT 0x02//显卡支持BLT操作,如果不支持,则播放器不能工作;
#define NET_DVR_SUPPORT_BLTFOURCC 0x04//显卡BLT支持颜色转换,如果不支持,播放器会用软件方法作RGB转换;
#define NET_DVR_SUPPORT_BLTSHRINKX 0x08//显卡BLT支持X轴缩小;如果不支持,系统会用软件方法转换;
#define NET_DVR_SUPPORT_BLTSHRINKY 0x10//显卡BLT支持Y轴缩小;如果不支持,系统会用软件方法转换;
#define NET_DVR_SUPPORT_BLTSTRETCHX 0x20//显卡BLT支持X轴放大;如果不支持,系统会用软件方法转换;
#define NET_DVR_SUPPORT_BLTSTRETCHY 0x40//显卡BLT支持Y轴放大;如果不支持,系统会用软件方法转换;
#define NET_DVR_SUPPORT_SSE 0x80//CPU支持SSE指令,Intel Pentium3以上支持SSE指令;
#define NET_DVR_SUPPORT_MMX 0x100//CPU支持MMX指令集,Intel Pentium3以上支持SSE指令;
#define SET_PRESET 8 // 设置预置点
#define CLE_PRESET 9 // 清除预置点
#define GOTO_PRESET 39 // 转到预置点
#define LIGHT_PWRON 2 /* 接通灯光电源 */
#define WIPER_PWRON 3 /* 接通雨刷开关 */
#define FAN_PWRON 4 /* 接通风扇开关 */
#define HEATER_PWRON 5 /* 接通加热器开关 */
#define AUX_PWRON 6 /* 接通辅助设备开关 */
#define ZOOM_IN 11 /* 焦距以速度SS变大(倍率变大) */
#define ZOOM_OUT 12 /* 焦距以速度SS变小(倍率变小) */
#define FOCUS_NEAR 13 /* 焦点以速度SS前调 */
#define FOCUS_FAR 14 /* 焦点以速度SS后调 */
#define IRIS_OPEN 15 /* 光圈以速度SS扩大 */
#define IRIS_CLOSE 16 /* 光圈以速度SS缩小 */
#define TILT_UP 21 /* 云台以SS的速度上仰 */
#define TILT_DOWN 22 /* 云台以SS的速度下俯 */
#define PAN_LEFT 23 /* 云台以SS的速度左转 */
#define PAN_RIGHT 24 /* 云台以SS的速度右转 */
#define PAN_AUTO 29 /* 云台以SS的速度左右自动扫描 */
//显示模式
enum{NORMALMODE = 0,OVERLAYMODE};
//发送模式
enum{PTOPTCPMODE,PTOPUDPMODE,MULTIMODE,RTPMODE,AUDIODETACH,NOUSEMODE};
#define NET_DVR_SYSHEAD 1 //系统头数据
#define NET_DVR_STREAMDATA 2 //流数据
//NET_DVR_PlayBackControl,NET_DVR_PlayControlLocDisplay的宏定义
#define NET_DVR_PLAYSTART 1//开始播放
#define NET_DVR_PLAYSTOP 2//停止播放
#define NET_DVR_PLAYPAUSE 3//暂停播放
#define NET_DVR_PLAYRESTART 4//恢复播放
#define NET_DVR_PLAYFAST 5//快放
#define NET_DVR_PLAYSLOW 6//慢放
#define NET_DVR_PLAYNORMAL 7//正常速度
#define NET_DVR_PLAYFRAME 8//单帧放
#define NET_DVR_PLAYSTARTAUDIO 9//打开声音
#define NET_DVR_PLAYSTOPAUDIO 10//关闭声音
#define NET_DVR_PLAYAUDIOVOLUME 11//调节音量
#define NET_DVR_PLAYSETPOS 12//改变文件回放的进度
#define NET_DVR_PLAYGETPOS 13//获取文件回放的进度
#define NET_DVR_PLAYGETTIME 14//获取当前已经播放的时间
#define NET_DVR_PLAYGETFRAME 15//获取当前已经播放的帧数
#define NET_DVR_GETTOTALFRAMES 16//获取当前播放文件总的帧数
#define NET_DVR_GETTOTALTIME 17//获取当前播放文件总的时间
#define NET_DVR_BACKWARD 18//后跳
#define NET_DVR_FORWARD 19//前跳
//NET_DVR_GetDVRConfig,NET_DVR_GetDVRConfig的命令定义
#define NET_DVR_GET_DEVICECFG 100 //获取设备参数
#define NET_DVR_SET_DEVICECFG 101 //设置设备参数
#define NET_DVR_GET_NETCFG 102 //获取网络参数
#define NET_DVR_SET_NETCFG 103 //设置网络参数
#define NET_DVR_GET_PICCFG 104 //获取图象参数
#define NET_DVR_SET_PICCFG 105 //设置图象参数
#define NET_DVR_GET_COMPRESSCFG 106 //获取压缩参数
#define NET_DVR_SET_COMPRESSCFG 107 //设置压缩参数
#define NET_DVR_GET_RECORDCFG 108 //获取录像时间参数
#define NET_DVR_SET_RECORDCFG 109 //设置录像时间参数
#define NET_DVR_GET_DECODERCFG 110 //获取解码器参数
#define NET_DVR_SET_DECODERCFG 111 //设置解码器参数
#define NET_DVR_GET_RS232CFG 112 //获取232串口参数
#define NET_DVR_SET_RS232CFG 113 //设置232串口参数
#define NET_DVR_GET_ALARMINCFG 114 //获取报警输入参数
#define NET_DVR_SET_ALARMINCFG 115 //设置报警输入参数
#define NET_DVR_GET_ALARMOUTCFG 116 //获取报警输出参数
#define NET_DVR_SET_ALARMOUTCFG 117 //设置报警输出参数
#define NET_DVR_GET_TIMECFG 118 //获取DVR时间
#define NET_DVR_SET_TIMECFG 119 //设置DVR时间
#define NET_DVR_GET_PREVIEWCFG 120 //获取预览参数
#define NET_DVR_SET_PREVIEWCFG 121 //设置预览参数
#define NET_DVR_GET_VIDEOOUTCFG 122 //获取视频输出参数
#define NET_DVR_SET_VIDEOOUTCFG 123 //设置视频输出参数
#define NET_DVR_GET_USERCFG 124 //获取用户参数
#define NET_DVR_SET_USERCFG 125 //设置用户参数
#define NET_DVR_GET_EXCEPTIONCFG 126 //获取异常参数
#define NET_DVR_SET_EXCEPTIONCFG 127 //设置异常参数
//回调函数类型
#define COMM_ALARM 0x1100 //报警信息
#define COMM_LOG 0x1200 //日志信息
#define COMM_STARTVOICOM 0x1300 //DVR主动发起的语音对讲
#define COMM_STOPVOICOM 0x1400 //DVR主动停止语音对讲
//消息方式
//异常类型
#define EXCEPTION_AUDIOEXCHANGE 0x8001 //语音对讲异常
#define EXCEPTION_ALARM 0x8002 //报警异常
#define EXCEPTION_PREVIEW 0x8003 //网络预览异常
#define EXCEPTION_SERIAL 0x8004 //透明通道异常
#define EXCEPTION_RECONNECT 0x8005 //预览时重连
#define NAME_LEN 32
#define SERIALNO_LEN 48
#define MACADDR_LEN 6
#define MAX_ETHERNET 2
#define PATHNAME_LEN 128
#define PASSWD_LEN 16
#define MAX_CHANNUM 16
#define MAX_ALARMOUT 4
#define MAX_TIMESEGMENT 4
#define MAX_PRESET 16
#define MAX_DAYS 7
#define PHONENUMBER_LEN 32
#define MAX_DISKNUM 8
#define MAX_WINDOW 16
#define MAX_VGA 1
#define MAX_USERNUM 16
#define MAX_EXCEPTIONNUM 16
#define MAX_LINK 6
#define MAX_ALARMIN 16
#define MAX_VIDEOOUT 2
#define MAX_NAMELEN 16 //DVR本地登陆名
#define MAX_RIGHT 32 //权限
#define CARDNUM_LEN 20
/* 网络接口定义 */
#define NET_IF_10M_HALF 1 /* 10M ethernet */
#define NET_IF_10M_FULL 2
#define NET_IF_100M_HALF 3 /* 100M ethernet */
#define NET_IF_100M_FULL 4
#define NET_IF_AUTO 5
typedef struct {
BYTE sSerialNumber[SERIALNO_LEN]; //序列号
BYTE byAlarmInPortNum; //DVR报警输入个数
BYTE byAlarmOutPortNum; //DVR报警输出个数
BYTE byDiskNum; //DVR 硬盘个数
BYTE byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS
BYTE byChanNum; //DVR 通道个数
BYTE byStartChan; //起始通道号,例如DVS-0,DVR - 1
}NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO;
//预览参数
typedef struct{
long bToScreen;
long bToVideoOut;
long nLeft;
long nTop;
long nWidth;
long nHeight;
long nReserved;
}NET_DVR_DISPLAY_PARA,*LPNET_DVR_DISPLAY_PARA;
typedef struct{
LONG lChannel;//通道号
LONG lLinkMode;//连接方式: 0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-音视频分开(TCP)
HWND hPlayWnd;//播放窗口的句柄,为NULL表示不播放图象
char* sMultiCastIP;//多播组地址
}NET_DVR_CLIENTINFO,*LPNET_DVR_CLIENTINFO;
typedef struct{
LONG lChannel;//通道号
LONG lLinkMode; //0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-电话线,5-128k宽带,6-256k宽带,7-384k宽带,8-512k宽带;
char* sMultiCastIP;
NET_DVR_DISPLAY_PARA struDisplayPara;
}NET_DVR_CARDINFO,*LPNET_DVR_CARDINFO;
typedef struct{
DWORD dwYear; //年
DWORD dwMonth; //月
DWORD dwDay; //日
DWORD dwHour; //时
DWORD dwMinute; //分
DWORD dwSecond; //秒
}NET_DVR_TIME,*LPNET_DVR_TIME;
typedef struct{
//开始时间
BYTE byStartHour;
BYTE byStartMin;
//结束时间
BYTE byStopHour;
BYTE byStopMin;
}NET_DVR_SCHEDTIME,*LPNET_DVR_SCHEDTIME;
/*处理方式*/
#define NOACTION 0x0 /*无响应*/
#define WARNONMONITOR 0x1 /*监视器上警告*/
#define WARNONAUDIOOUT 0x2 /*声音警告*/
#define UPTOCENTER 0x4 /*上传中心*/
#define TRIGGERALARMOUT 0x8 /*触发报警输出*/
typedef struct
{
DWORD dwHandleType; /*处理方式,处理方式的"或"结果*/
/*0x00: 无响应*/
/*0x01: 监视器上警告*/
/*0x02: 声音警告*/
/*0x04: 上传中心*/
/*0x08: 触发报警输出*/
BYTE byRelAlarmOut[MAX_ALARMOUT]; //报警触发的输出通道,报警触发的输出,为1表示触发该输出
}NET_DVR_HANDLEEXCEPTION;
//DVR设备参数
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位是次版本
BYTE byAlarmInPortNum; //DVR报警输入个数
BYTE byAlarmOutPortNum; //DVR报警输出个数
BYTE byRS232Num; //DVR 232串口个数
BYTE byRS485Num; //DVR 485串口个数
BYTE byNetworkPortNum; //网络口个数
BYTE byDiskCtrlNum; //DVR 硬盘控制器个数
BYTE byDiskNum; //DVR 硬盘个数
BYTE byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -