📄 dhnetsdk.h
字号:
/************************************************************************
** 查询系统信息
***********************************************************************/
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 + -