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

📄 dhnetsdk.h

📁 大华DVR的客户端开发包和Demo,从网上是下载不到的。
💻 H
📖 第 1 页 / 共 5 页
字号:
/************************************************************************
 ** 查询系统信息
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_QuerySystemInfo(LONG lLoginID, int nSystemType, char *pSysInfoBuffer, int maxlen, int *nSysInfolen, int waittime=15000);


/************************************************************************
 ** 查询设备用户
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_QueryUserInfo(LONG lLoginID, USER_MANAGE_INFO *info, int waittime=15000);


/************************************************************************
 ** 操作设备用户
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_OperateUserInfo(LONG lLoginID, int nOperateType, void *opParam, void *subParam, int waittime=15000);


/************************************************************************
 ** 开始对讲
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StartTalk(LONG lRealHandle, bool bCustomSend=false);


/************************************************************************
 ** 结束对讲
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StopTalk(LONG lRealHandle);


/************************************************************************
 ** 发送自定义对讲数据
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SendTalkData_Custom(LONG lRealHandle, char *pBuffer, DWORD dwBufSize);


/************************************************************************
 ** 获取通道码流
 ***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_GetStatiscFlux(LONG lLoginID, LONG lPlayHandle);


/************************************************************************
 ** 查询IO状态
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_QueryIOControlState(LONG lLoginID, IOTYPE emType, 
                                           void *pState, int maxlen, int *nIOCount, int waittime=15000);


/************************************************************************
 ** IO控制
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_IOControl(LONG lLoginID, IOTYPE emType, void *pState, int maxlen);

//add by zhaojs 2006/08/16

/************************************************************************
 ** 查询设备工作状态
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_GetDEVWorkState(LONG lLoginID, LPNET_DEV_WORKSTATE lpWorkState, int waittime=15000);


/************************************************************************
 ** 强制I帧
 ***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_MakeKeyFrame(LONG lLoginID, int nChannelID, int nSubChannel=0);


/************************************************************************
 ** 设置设备限制码流
 ***********************************************************************/
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);

/************************************************************************
 ** 硬盘操作:返回值 TRUE 成功, FALSE 失败
 ***********************************************************************/

// 硬盘远端操作功能较危险,设备暂不提供
typedef struct _DISKCTRL_PARAM
{
	DWORD dwSize;		//size of this structure, for version control
	int nIndex;			//disk index
	int ctrlType;		//control type. 
						// 0 - clear data, 1 - set as read-write, 2 - set as read-only
						// 3 - set as redundant,  4 - error recovery 
}DISKCTRL_PARAM;

//Control types 
enum CtrlType
{
	CTRL_REBOOT = 0,	//Reboot device	
	CTRL_SHUTDOWN,		//Shut down device
	CTRL_DISK,			//disk control
	//KEY BOARD CONTROL
	KEYBOARD_POWER,
	KEYBOARD_ENTER,
	KEYBOARD_ESC,
	KEYBOARD_UP,
	KEYBOARD_DOWN,
	KEYBOARD_LEFT,
	KEYBOARD_RIGHT,
	KEYBOARD_BTN0,
	KEYBOARD_BTN1,
	KEYBOARD_BTN2,
	KEYBOARD_BTN3,
	KEYBOARD_BTN4,
	KEYBOARD_BTN5,
	KEYBOARD_BTN6,
	KEYBOARD_BTN7,
	KEYBOARD_BTN8,
	KEYBOARD_BTN9,
	KEYBOARD_BTN10,
	KEYBOARD_BTN11,
	KEYBOARD_BTN12,
	KEYBOARD_BTN13,
	KEYBOARD_BTN14,
	KEYBOARD_BTN15,
	KEYBOARD_BTN16,
	KEYBOARD_SPLIT,
	KEYBOARD_ONE,
	KEYBOARD_NINE,
	KEYBOARD_ADDR,
	KEYBOARD_INFO,
	KEYBOARD_REC,
	KEYBOARD_FN1,
	KEYBOARD_FN2,
	KEYBOARD_PLAY,
	KEYBOARD_STOP,
	KEYBOARD_SLOW,
	KEYBOARD_FAST,
	KEYBOARD_PREW,
	KEYBOARD_NEXT,
	KEYBOARD_JMPDOWN,
	KEYBOARD_JMPUP
};

CLIENT_API BOOL CALL_METHOD CLIENT_ControlDevice(LONG lLoginID, CtrlType type, void *param, int waittime = 15000);


/************************************************************************
** 配置命令
***********************************************************************/
//CLIENT_GetDEVConfig,CLIENT_GetDEVConfig的命令定义
#define DH_DEV_DEVICECFG		1		//获取/设置设备参数
#define DH_DEV_NETCFG			2		//获取/设置网络参数
#define DH_DEV_CHANNELCFG		3		//获取/设置通道配置-图像及压缩参数等
#define DH_DEV_PREVIEWCFG 		4		//获取/设置预览参数
#define DH_DEV_RECORDCFG		5		//获取/设置录像时间参数
#define DH_DEV_COMMCFG			6		//获取/设置串口参数
#define DH_DEV_ALARMCFG 		7		//获取/设置报警参数
#define DH_DEV_TIMECFG 			8		//获取/设置DVR时间
#define DH_DEV_TALKCFG			9		//获取/设置对讲参数


//设置接口
CLIENT_API BOOL  CALL_METHOD CLIENT_GetDevConfig(LONG lLoginID, DWORD dwCommand,LONG lChannel, LPVOID lpOutBuffer,DWORD dwOutBufferSize,LPDWORD lpBytesReturned);
CLIENT_API BOOL  CALL_METHOD CLIENT_SetDevConfig(LONG lLoginID, DWORD dwCommand,LONG lChannel, LPVOID lpInBuffer,DWORD dwInBufferSize);


/******************************************************************************
以下是各部分配置结构体
 *****************************************************************************/


#define DH_MAX_MAIL_ADDR_LEN		128	//邮件发(收)人地址最大长度
#define DH_MAX_MAIL_SUBJECT_LEN		64	//邮件主题最大长度
#define DH_MAX_IPADDR_LEN			16	//IP地址字符串长度
#define DH_MACADDR_LEN				48	//MAC地址字符串长度
#define	DH_MAX_HOST_NAMELEN			32	//主机名字符串长度
#define DH_MAX_HOST_PSWLEN			32	//长度
#define DH_MAX_NAME_LEN				16	//通用名字字符串长度
#define DH_MAX_ETHERNET_NUM			2	//以太网口最大个数

#define	DH_DEV_SERIALNO_LEN			32	//序列号字符串长度

#define DH_N_WEEKS					7	//一周的天数	
#define DH_N_REC_TSECT				6	//录像时间段个数
#define DH_N_COL_TSECT				2	//颜色时间段个数	
#define DH_CHAN_NAME_LEN			32	//通道名长度		
#define DH_N_ENCODE_AUX				3	//扩展码流个数	
#define DH_N_TALK					1	//最多对讲通道个数
#define DH_N_COVERS					1	//遮挡区域个数	
#define DH_N_CHANNEL				16	//最大通道个数	
#define DH_N_ALARM_TSECT			2	//报警提示时间段个数

#define DH_MAX_ALARMOUT_NUM			16	//报警输出口个数上限
#define DH_MAX_VIDEO_IN_NUM			16	//视频输入口个数上限
#define DH_MAX_ALARM_IN_NUM			16	//报警输入口个数上限
#define DH_MAX_DISK_NUM				16	//硬盘个数上限,暂定为16

#define DH_MAX_DECODER_NUM			16	//解码器(485)个数上限	
#define DH_MAX_232FUNCS				5	//232串口功能个数上限
#define DH_MAX_232_NUM				2	//232串口个数上限
#define DH_MAX_DECPRO_LIST_SIZE		100	//解码器协议列表个数上限


/* 分辨率列表 */
#define	DH_CAPTURE_SIZE_D1			0x00000001
#define DH_CAPTURE_SIZE_HD1			0x00000002
#define DH_CAPTURE_SIZE_BCIF		0x00000004
#define DH_CAPTURE_SIZE_CIF			0x00000008
#define DH_CAPTURE_SIZE_QCIF		0x00000010	
#define DH_CAPTURE_SIZE_VGA			0x00000020	
#define DH_CAPTURE_SIZE_QVGA		0x00000040
#define DH_CAPTURE_SIZE_SVCD		0x00000080

/* 码流控制列表 */
#define DH_CAPTURE_BRC_CBR			0
#define DH_CAPTURE_BRC_VBR			1
//#define DH_CAPTURE_BRC_MBR			2
	
/* 编码模式列表 */
#define DH_CAPTURE_COMP_DIVX_MPEG4	0x00000001
#define DH_CAPTURE_COMP_MS_MPEG4 	0x00000002
#define DH_CAPTURE_COMP_MPEG2		0x00000004
#define DH_CAPTURE_COMP_MPEG1		0x00000008
#define DH_CAPTURE_COMP_H263		0x00000010

⌨️ 快捷键说明

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