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

📄 hcnetsdk.h

📁 linux DVR 设备 开发包
💻 H
📖 第 1 页 / 共 5 页
字号:
	union	{		struct 		{			BYTE sUserName[NAME_LEN];	/*请求视频用户名*/			BYTE sPassword[PASSWD_LEN];	/* 密码 */			char cReserve[52];		}userInfo;		struct 		{						BYTE   fileName[100];				}fileInfo;		struct 		{			DWORD	dwChannel;			BYTE	sUserName[NAME_LEN];	/*请求视频用户名*/			BYTE	sPassword[PASSWD_LEN];	/* 密码 */			NET_DVR_TIME struStartTime;		/* 按时间回放的开始时间 */			NET_DVR_TIME struStopTime;		/* 按时间回放的结束时间 */			}timeInfo;	}objectInfo;}NET_DVR_DECCHANSTATUS, *LPNET_DVR_DECCHANSTATUS;typedef struct {	DWORD   dwSize;	NET_DVR_DECCHANSTATUS struDecState[MAX_DECNUM];	}NET_DVR_DECSTATUS, *LPNET_DVR_DECSTATUS;//叠加字符typedef struct {	WORD wShowString;				// 预览的图象上是否显示字符,0-不显示,1-显示 区域大小704*576,单个字符的大小为32*32	WORD wStringSize;				/* 该行字符的长度,不能大于44个字符 */	WORD wShowStringTopLeftX;		/* 字符显示位置的x坐标 */	WORD wShowStringTopLeftY;		/* 字符名称显示位置的y坐标 */	char sString[44];				/* 要显示的字符内容 */}NET_DVR_SHOWSTRINGINFO, *LPNET_DVR_SHOWSTRINGINFO;//叠加字符typedef struct {	DWORD dwSize;	NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM];				/* 要显示的字符内容 */}NET_DVR_SHOWSTRING, *LPNET_DVR_SHOWSTRING;/* ftp 上传参数*/typedef struct tagFTPCFG{	DWORD	dwSize;	DWORD	dwEnableFTP;			/*是否启动ftp上传功能*/	char	sFTPIP[16];				/*ftp 服务器*/	DWORD	dwFTPPort;				/*ftp端口*/	BYTE	sUserName[NAME_LEN];	/*用户名*/	BYTE	sPassword[PASSWD_LEN];	/*密码*/	DWORD	dwDirLevel;	/*0 = 不使用目录结构,直接保存在根目录,1 = 使用1级目录,2=使用2级目录*/	WORD 	wTopDirMode;	/* 0x1 = 使用设备名,0x2 = 使用设备号,0x3 = 使用设备ip地址*/	WORD 	wSubDirMode;	/* 0x4 = 使用通道名,0x5 = 使用通道号*/	BYTE 	reservedData[24];}NET_DVR_FTPCFG, *LPNET_DVR_FTPCFG;/*可用来命名图片的相关元素 */#define PICNAME_ITEM_DEV_NAME 	1#define PICNAME_ITEM_DEV_NO 	2#define PICNAME_ITEM_DEV_IP 	3#define PICNAME_ITEM_CHAN_NAME 	4#define PICNAME_ITEM_CHAN_NO 	5#define PICNAME_ITEM_TIME 		6#define PICNAME_ITEM_CARDNO		7#define PICNAME_MAXITEM 		15typedef struct tagPICNAME{	BYTE 	byItemOrder[PICNAME_MAXITEM];	/*	桉数组定义文件命名的规则 */	BYTE 	byDelimiter;		/*分隔符,一般为'_'*/}NET_DVR_PICTURE_NAME, *LPNET_DVR_PICTURE_NAME;//图片质量typedef struct tagJPEGPARA{	WORD	wPicSize;				/* 0=CIF, 1=QCIF, 2=D1 */	WORD	wPicQuality;			/* 图片质量系数 0-最好 1-较好 2-一般 */}NET_DVR_JPEGPARA, *LPNET_DVR_JPEGPARA;/* 串口抓图设置*/typedef struct tagSERIALCAPPARA{	BYTE	byStrFlag;	/*串口数据开始符*/	BYTE 	byEndFlag;	/*结束符*/	WORD	wCardIdx;	/*卡号相对起始位*/	DWORD 	dwCardLen;	/*卡号长度*/	DWORD   dwTriggerPicChans;	/*所触发的通道号,按位,从第1位开始计,即0x2表示第一通道*/}NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA;typedef struct tagJPEGCFG{	DWORD	dwSize;	NET_DVR_JPEGPARA struJpegPara[MAX_CHANNUM];	/*每个通道的图像参数*/	WORD	wBurstMode;							/*抓图方式,按位设置.0x1=报警输入触发,0x2=移动侦测触发 0x4=232触发,0x8=485触发,0x10=网络触发*/	WORD	wUploadInterval;					/*图片上传间隔(秒)[0,65535]*/	NET_DVR_PICTURE_NAME 	struPicNameRule;	/* 图片命名规则 */							   	BYTE	bySaveToHD;		/*是否保存到硬盘*/	BYTE	res1;	WORD	wCatchInterval;		/*抓图间隔(毫秒)[0,65535]*/	BYTE	res2[12];							NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg;	NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg;	DWORD dwTriggerPicTimes[MAX_CHANNUM];	/* 每个通道一次触发拍照次数 */	DWORD dwAlarmInPicChanTriggered[MAX_ALARMIN]; /*报警触发抓拍通道,按位设置,从第1位开始*/}NET_DVR_JPEGCFG, *LPNET_DVR_JPEGCFG;typedef struct tagGetJpeg{	DWORD dwReturn;		/*是否直接返回图片数据*/	DWORD dwUploadFtp;	/*是否上传Ftp服务器*/	DWORD dwSaveHd;		/*是否保存到设备硬盘*/	char sImageName[PATHNAME_LEN];	/*自定义的生成图片文件名*/	char sOsdStr[16];	/*需要叠加在图片上的OSD字符串*/	WORD wOsdLen;		/*OSD字符串长度*/}NET_DVR_GETJPEG, *LPNET_DVR_GETJPEG;typedef struct tagFIND_PICTURE{	char sFileName[100];//图片名	NET_DVR_TIME struTime;//图片的时间	DWORD dwFileSize;//图片的大小	char sCardNum[32];	//卡号}NET_DVR_FIND_PICTURE,*LPNET_DVR_FIND_PICTURE;typedef struct tagNTPPARA{	BYTE sNTPServer[64];   /* Domain Name or IP addr of NTP server */	WORD wInterval;		 /* adjust time interval(hours) */	BYTE byEnableNTP;    /* enable NPT client 0-no,1-yes*/	signed char cTimeDifferenceH; /* 与国际标准时间的时差 -12 ... +13 */	signed char cTimeDifferenceM; 	BYTE res[11];}NET_DVR_NTPPARA, *LPNET_DVR_NTPPARA;typedef struct tagDDNSPARA{	BYTE sUsername[NAME_LEN];  /* DDNS账号用户名/密码 */	BYTE sPassword[PASSWD_LEN];	BYTE sDomainName[64];       /* 域名 */	BYTE byEnableDDNS;			/*是否应用 0-否,1-是*/	BYTE res[15];}NET_DVR_DDNSPARA, *LPNET_DVR_DDNSPARA;typedef struct tagEMAILPARA{	BYTE sUsername[64];  /* 邮件账号/密码 */	BYTE sPassword[64];	BYTE sSmtpServer[64];	BYTE sPop3Server[64];	BYTE sMailAddr[64];   /* email */	BYTE sEventMailAddr1[64];  /* 上传报警/异常等的email */	BYTE sEventMailAddr2[64];	BYTE res[16];}NET_DVR_EMAILPARA, *LPNET_DVR_EMAILPARA;typedef struct tagNETAPPCFG{	DWORD  dwSize;	char  sDNSIp[16];                /* DNS服务器地址 */	NET_DVR_NTPPARA  struNtpClientParam;      /* NTP参数 */	NET_DVR_DDNSPARA struDDNSClientParam;     /* DDNS参数 */	NET_DVR_EMAILPARA struEmailParam;         /* EMAIL参数 */}NET_DVR_NETAPPCFG, *LPNET_DVR_NETAPPCFG;typedef struct tagAUXOUT{	DWORD dwSize;	DWORD dwAlarmOutChan;                       	/* 选择报警弹出大画面的输出通道: 0:主输出/1:辅1/2:辅2/3:辅3/4:辅4 */	DWORD dwAlarmChanSwitchTime;                	/* 报警通道切换时间:1:1秒 - 10:10秒 */	DWORD dwAuxSwitchTime[MAX_AUXOUT];		/* 辅助输出切换时间: 0-不切换,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */	BYTE  byAuxOrder[MAX_AUXOUT][MAX_WINDOW];	/* 辅助输出预览顺序, 0xff表示相应的窗口不预览 */}NET_DVR_AUXOUTCFG, *LPNET_DVR_AUXOUTCFG;typedef struct tag_NFSCFG{	DWORD  dwSize;	struct{		char sNfsHostIPAddr[16];		BYTE sNfsDirectory[PATHNAME_LEN];        // PATHNAME_LEN = 128	}struNfsDiskParam[MAX_NFS_DISK];}NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG;//上海优网通 2006-12-19  by cxh  前端参数设置 typedef struct tagMANAGECFGEX{	DWORD dwSize;	BYTE sFrontID[NAME_LEN]; /* 前端ID */		BYTE sRegPass[PASSWD_LEN]; /* 注册密码 */	char sHBHostIp[16]; /* 心跳管理主机网络地址 */		WORD wHeartBeatPort; /* 管理主机心跳倾听端口 */	DWORD dwAroundNum; /* 连接的外围设备数量,不超过24*/	BYTE sAroundID[24][NAME_LEN]; /* 外围设备ID */	BYTE sChanID[MAX_CHANNUM][NAME_LEN]; /* 通道ID */	BYTE byChanEnable[MAX_CHANNUM]; /* 通道是否接入 */}NET_DVR_MANAGECFG_EX, *LPNET_DVR_MANAGECFG_EX;typedef struct tagPOINT_FRAME{      int xTop; // 方框起始点的x坐标      int yTop; // 方框结束点的y坐标      int xBottom; // 方框结束点的x坐标      int yBottom; //方框结束点的y坐标      int bCounter; //保留}NET_DVR_POINT_FRAME, *LPNET_DVR_POINT_FRAME;typedef struct tagCRUISE_RET{	struct{		BYTE	PresetNum;	//预置点		BYTE	Dwell;		//停留时间		BYTE	Speed;		//速度		BYTE	Reserve;	//保留	}struCruisePoint[32];			//最大支持32个巡航点}NET_DVR_CRUISE_RET, *LPNET_DVR_CRUISE_RET;NET_DVR_API BOOL   NET_DVR_Init();NET_DVR_API BOOL   NET_DVR_Cleanup();NET_DVR_API BOOL   NET_DVR_SetDVRMessCallBack(BOOL (  *fMessCallBack)(int lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen));NET_DVR_API BOOL   NET_DVR_SetDVRMessageCallBack(BOOL (  *fMessageCallBack)(int lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, void* lpUser), void* lpUser);NET_DVR_API BOOL   NET_DVR_SetDVRMessCallBack_EX(BOOL (  *fMessCallBack_EX)(int lCommand,int lUserID,char *pBuf,DWORD dwBufLen));NET_DVR_API BOOL   NET_DVR_SetConnectTime(DWORD dwWaitTime,DWORD dwTryTimes);NET_DVR_API DWORD   NET_DVR_GetSDKVersion();NET_DVR_API BOOL   NET_DVR_StartListen(char *sLocalIP,WORD wLocalPort);NET_DVR_API BOOL   NET_DVR_StopListen();NET_DVR_API int   NET_DVR_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo);NET_DVR_API BOOL   NET_DVR_Logout(int lUserID);NET_DVR_API DWORD   NET_DVR_GetLastError();NET_DVR_API BOOL   NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, WORD wServerPort, BYTE *sDVRName,WORD wDVRNameLen,BYTE *sDVRSerialNumber,WORD wDVRSerialLen,char* sGetIP);//图像预览NET_DVR_API int   NET_DVR_RealPlay(int lUserID,LPNET_DVR_CLIENTINFO lpClientInfo);NET_DVR_API BOOL   NET_DVR_StopRealPlay(int lRealHandle);NET_DVR_API BOOL   NET_DVR_RealPlayPause(int lRealHandle);NET_DVR_API BOOL   NET_DVR_RealPlayRestart(int lRealHandle, PLAYRECT *hPlayWnd);//视频参数是索引值 1-10NET_DVR_API BOOL   NET_DVR_ClientSetVideoEffect(int lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue);NET_DVR_API BOOL   NET_DVR_ClientGetVideoEffect(int lRealHandle,DWORD *pBrightValue,DWORD *pContrastValue, DWORD *pSaturationValue,DWORD *pHueValue);NET_DVR_API BOOL   NET_DVR_SetPlayerBufNumber(int lRealHandle,DWORD dwBufNum);NET_DVR_API BOOL   NET_DVR_ThrowBFrame(int lRealHandle,DWORD dwNum);NET_DVR_API BOOL   NET_DVR_OpenSound(int lRealHandle);NET_DVR_API BOOL   NET_DVR_CloseSound();NET_DVR_API BOOL   NET_DVR_Volume(int lRealHandle,WORD wVolume);NET_DVR_API BOOL   NET_DVR_SaveRealData(int lRealHandle,char *sFileName);NET_DVR_API BOOL   NET_DVR_StopSaveRealData(int lRealHandle);NET_DVR_API BOOL   NET_DVR_SetRealDataCallBack(int lRealHandle,void(  *fRealDataCallBack) (int lRealHandle, DWORD dwDataType, char *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);NET_DVR_API BOOL   NET_DVR_CapturePicture(int lRealHandle,char *sPicFileName);//云台控制NET_DVR_API BOOL   NET_DVR_GetPTZCtrl(int lRealHandle);NET_DVR_API BOOL   NET_DVR_GetPTZCtrl_Other(int lUserID,int lChannel);NET_DVR_API BOOL   NET_DVR_PTZControl(int lRealHandle,DWORD dwPTZCommand,DWORD dwStop);NET_DVR_API BOOL   NET_DVR_PTZControl_Other(int lUserID,int lChannel,DWORD dwPTZCommand,DWORD dwStop);NET_DVR_API BOOL   NET_DVR_TransPTZ(int lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize);NET_DVR_API BOOL   NET_DVR_TransPTZ_Other(int lUserID,int lChannel,char *pPTZCodeBuf,DWORD dwBufSize);NET_DVR_API BOOL   NET_DVR_PTZPreset(int lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);NET_DVR_API BOOL   NET_DVR_PTZPreset_Other(int lUserID,int lChannel,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);NET_DVR_API BOOL   NET_DVR_PTZControlWithSpeed(int lRealHandle,DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);NET_DVR_API BOOL   NET_DVR_PTZControlWithSpeed_Other(int lUserID,int lChannel,DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);NET_DVR_API BOOL   NET_DVR_PTZControlWithSpeed_EX(int lRealHandle,DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);NET_DVR_API BOOL   NET_DVR_PTZCruise(int lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);NET_DVR_API BOOL   NET_DVR_PTZCruise_Other(int lUserID,int lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);NET_DVR_API BOOL   NET_DVR_PTZCruise_EX(int lRealHandle,int dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);NET_DVR_API BOOL   NET_DVR_PTZTrack(int lRealHandle,DWORD dwPTZTrackCmd);NET_DVR_API BOOL   NET_DVR_PTZTrack_Other(int lUserID,int lChannel,DWORD dwPTZTrackCmd);NET_DVR_API BOOL   NET_DVR_PTZTrack_EX(int lRealHandle,DWORD dwPTZTrackCmd);//文件回放NET_DVR_API int   NET_DVR_FindFile(int lUserID,int lChannel,DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);NET_DVR_API int   NET_DVR_FindNextFile(int lFindHandle,LPNET_DVR_FIND_DATA lpFindData);NET_DVR_API BOOL   NET_DVR_FindClose(int lFindHandle);NET_DVR_API int   NET_DVR_PlayBackByName(int lUserID,char *sPlayBackFileName, PLAYRECT *hWnd);NET_DVR_API int   NET_DVR_PlayBackByTime(int lUserID,int lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, PLAYRECT *hWnd);NET_DVR_API BOOL   NET_DVR_PlayBackControl(int lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *lpOutValue);NET_DVR_API BOOL   NET_DVR_StopPlayBack(int lPlayHandle);NET_DVR_API BOOL   NET_DVR_SetPlayDataCallBack(int lPlayHandle,void(  *fPlayDataCallBack) (int lPlayHandle, DWORD dwDataType, char *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);NET_DVR_API BOOL   NET_DVR_PlayBackSaveData(int lPlayHandle,char *sFileName);NET_DVR_API BOOL   NET_DVR_StopPlayBackSave(int lPlayHandle);NET_DVR_API BOOL  NET_DVR_GetPlayBackOsdTime(int lPlayHandle, LPNET_DVR_TIME lpOsdTime);NET_DVR_API BOOL   NET_DVR_PlayBackCaptureFile(int lPlayHandle,char *sFileName);NET_DVR_API int   NET_DVR_GetFileByName(int lUserID,char *sDVRFileName,char *sSavedFileName);NET_DVR_API int   NET_DVR_GetFileByTime(int lUserID,int lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName);NET_DVR_API BOOL   NET_DVR_StopGetFile(int lFileHandle);NET_DVR_API int   NET_DVR_GetDownloadPos(int lFileHandle);//恢复默认值NET_DVR_API BOOL   NET_DVR_RestoreConfig(int lUserID);//保存参数NET_DVR_API BOOL   NET_DVR_SaveConfig(int lUserID);//重启NET_DVR_API BOOL   NET_DVR_RebootDVR(int lUserID);//关闭DVRNET_DVR_API BOOL   NET_DVR_ShutDownDVR(int lUserID);//升级NET_DVR_API int   NET_DVR_Upgrade(int lUserID,char *sFileName);NET_DVR_API int   NET_DVR_GetUpgradeState(int lUpgradeHandle);NET_DVR_API BOOL   NET_DVR_CloseUpgradeHandle(int lUpgradeHandle);//远程格式化硬盘NET_DVR_API int   NET_DVR_FormatDisk(int lUserID,int lDiskNumber);NET_DVR_API BOOL   NET_DVR_GetFormatProgress(int lFormatHandle,int *pCurrentFormatDisk,int *pCurrentDiskPos,int *pFormatStatic);NET_DVR_API BOOL   NET_DVR_CloseFormatHandle(int lFormatHandle);//报警NET_DVR_API int   NET_DVR_SetupAlarmChan(int lUserID);NET_DVR_API BOOL   NET_DVR_CloseAlarmChan(int lAlarmHandle);NET_DVR_API BOOL   NET_DVR_GetAlarmOut(int lUserID,LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState);NET_DVR_API BOOL   NET_DVR_SetAlarmOut(int lUserID,int lAlarmOutPort,int lAlarmOutStatic);//语音转发 NET_DVR_API int NET_DVR_StartVoiceCom(int lUserID, void( *fVoiceDataCallBack)(int lVoiceComHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser), DWORD dwUser);NET_DVR_API BOOL NET_DVR_VoiceComSendData(int lVoiceComHandle,char *pSendBuf,DWORD dwBufSize);NET_DVR_API BOOL NET_DVR_StopVoiceCom(int lVoiceComHandle);//////////////////////////////////////////////////////////////透明通道设置NET_DVR_API int   NET_DVR_SerialStart(int lUserID,int lSerialPort,void(  *fSerialDataCallBack)(int lSerialHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);NET_DVR_API BOOL   NET_DVR_SerialSend(int lSerialHandle, int lChannel, char *pSendBuf,DWORD dwBufSize);NET_DVR_API BOOL   NET_DVR_SerialStop(int lSerialHandle);NET_DVR_API BOOL   NET_DVR_SendTo232Port(int lUserID,char *pSendBuf,DWORD dwBufSize);//远程控制本地显示NET_DVR_API BOOL   NET_DVR_ClickKey(int lUserID,int lKeyIndex

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -