⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hcnetsdk.h

📁 监控开发资料,提供二次开发源码和使用说明书
💻 H
📖 第 1 页 / 共 3 页
字号:
#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 + -