📄 dhnetsdk.h
字号:
} NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;
/************************************************************************
** 协议信息
***********************************************************************/
typedef struct {
char protocolname[12]; //协议名
unsigned int baudbase; //波特率
unsigned char databits; //数据位
unsigned char stopbits; //停止位
unsigned char parity; //校验位
unsigned char reserve;
} PROTOCOL_INFO, *LPPROTOCOL_INFO;
/************************************************************************
** 报警IO控制
***********************************************************************/
typedef struct {
unsigned short index; //端口序号
unsigned short state; //端口状态
}ALARM_CONTROL;
/************************************************************************
** 用户控制信息
***********************************************************************/
typedef struct {
DWORD dwID;
char name[RIGHT_NAME_LENGTH];
char memo[MEMO_LENGTH];
}OPR_RIGHT;
typedef struct {
DWORD dwID;
DWORD dwGroupID;
char name[USER_NAME_LENGTH];
char passWord[USER_PSW_LENGTH];
DWORD dwRightNum;
DWORD rights[MAX_RIGHT_NUM];
char memo[MEMO_LENGTH];
}USER_INFO;
typedef struct {
DWORD dwID;
char name[USER_NAME_LENGTH];
DWORD dwRightNum;
DWORD rights[MAX_RIGHT_NUM];
char memo[MEMO_LENGTH];
}USER_GROUP_INFO;
//用户信息配置结构
typedef struct {
DWORD dwRightNum;
OPR_RIGHT rightList[MAX_RIGHT_NUM];
DWORD dwGroupNum;
USER_GROUP_INFO groupList[MAX_GROUP_NUM];
DWORD dwUserNum;
USER_INFO userList[MAX_USER_NUM];
}USER_MANAGE_INFO;
/************************************************************************
** 服务器断开回调原形
***********************************************************************/
typedef void (CALLBACK *fDisConnect)(LONG lLoginID, char *pchDVRIP, LONG nDVRPort, DWORD dwUser);
/************************************************************************
** 实时预览回调原形
***********************************************************************/
typedef void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser);
/************************************************************************
** 原始数据回调原形
***********************************************************************/
typedef int(CALLBACK *fDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser);
/************************************************************************
** 回调原形
***********************************************************************/
typedef BOOL (CALLBACK *fMessCallBack)(LONG lCommand, LONG lLoginID, char *pBuf,
DWORD dwBufLen, char *pchDVRIP, LONG nDVRPort, DWORD dwUser);
/************************************************************************
** 屏幕叠加回调原形
***********************************************************************/
typedef void (CALLBACK *fDrawCallBack)(LONG lLoginID, LONG lPlayHandle, HDC hDC, DWORD dwUser);
/************************************************************************
** 实时预览回调原形-扩展
***********************************************************************/
typedef void(CALLBACK *fRealDataCallBackEx) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LONG param, DWORD dwUser);
/************************************************************************
** 回放录像进度回调原形
***********************************************************************/
typedef void(CALLBACK *fDownLoadPosCallBack) (LONG lPlayHandle, DWORD dwTotalSize, DWORD dwDownLoadSize, DWORD dwUser);
/************************************************************************
** 通过时间下载录像进度回调原形
现在按时间下载没有使用这个回调函数,使用的是回放录像进度回调原形. //by linjianyan
***********************************************************************/
typedef void(CALLBACK *fTimeDownLoadPosCallBack) (LONG lPlayHandle, DWORD dwTotalSize, DWORD dwDownLoadSize, int index, NET_RECORDFILE_INFO recordfileinfo, DWORD dwUser);
/************************************************************************
** 查询设备日志数据回调原形
***********************************************************************/
typedef void(CALLBACK *fLogDataCallBack) (LONG lLoginID, char *pBuffer, DWORD dwBufSize, DWORD nTotalSize, bool bEnd, DWORD dwUser);
/************************************************************************
** 透明串口回调原形
***********************************************************************/
typedef void(CALLBACK *fTransComCallBack) (LONG lLoginID, LONG lTransComChannel, char *pBuffer, DWORD dwBufSize, DWORD dwUser);
/************************************************************************
** 升级设备程序回调原形
***********************************************************************/
typedef void(CALLBACK *fUpgradeCallBack) (LONG lLoginID, LONG lUpgradechannel, int nTotalSize, int nSendSize, DWORD dwUser);
/*Begin: Add by yehao(10857) 2006-12-20*/
/************************************************************************
** 语音对讲的音频数据回调原形
***********************************************************************/
typedef void(CALLBACK *pfAudioDataCallBack) (LONG lTalkHandle, char *pDataBuf, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser);
/*End: yehao(10857) */
/************************************************************************
** SDK初始化
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_Init(fDisConnect cbDisConnect, DWORD dwUser);
/************************************************************************
** SDK退出清理
***********************************************************************/
CLIENT_API void CALL_METHOD CLIENT_Cleanup();
/************************************************************************/
/* 返回函数执行失败代码 */
/************************************************************************/
CLIENT_API DWORD CALL_METHOD CLIENT_GetLastError(void);
/************************************************************************
** 设置连接服务器超时时间和尝试次数
***********************************************************************/
CLIENT_API void CALL_METHOD CLIENT_SetConnectTime(int nWaitTime, int nTryTimes);
/************************************************************************
** 获取SDK的版本信息
***********************************************************************/
CLIENT_API DWORD CALL_METHOD CLIENT_GetSDKVersion();
/************************************************************************
** 向设备注册
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_Login(char *pchDVRIP, WORD wDVRPort, char *pchUserName, char *pchPassword, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0);
CLIENT_API LONG CALL_METHOD CLIENT_LoginEx(char *pchDVRIP, WORD wDVRPort, char *pchUserName, char *pchPassword, int nSpecCap, void* pCapParam, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0);
/************************************************************************
** 向设备注销
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_Logout(LONG lLoginID);
/************************************************************************
**
***********************************************************************/
CLIENT_API void CALL_METHOD CLIENT_SetDVRMessCallBack(fMessCallBack cbMessage,DWORD dwUser);
/************************************************************************
** 开始帧听设备
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StartListen(LONG lLoginID);
/************************************************************************
** 停止帧听设备
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StopListen(LONG lLoginID);
/************************************************************************
** 设置屏幕叠加回调
***********************************************************************/
CLIENT_API void CALL_METHOD CLIENT_RigisterDrawFun(fDrawCallBack cbDraw, DWORD dwUser);
/************************************************************************
** 开始实时预览
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_RealPlay(LONG lLoginID, int nChannelID, HWND hWnd);
/************************************************************************
** 开始实时预览_扩展
***********************************************************************/
//实时预览扩展接口增加的参数:预览类型
typedef enum _RealPlayType
{
RType_Realplay = 0, //实时预览
RType_Multiplay, //多画面预览
RType_Realplay_0, //实时监视-主码流
RType_Realplay_1, //实时监视-从码流1
RType_Realplay_2, //实时监视-从码流2
RType_Realplay_3, //实时监视-从码流3
}RealPlayType;
CLIENT_API LONG CALL_METHOD CLIENT_RealPlayEx(LONG lLoginID, int nChannelID, HWND hWnd, RealPlayType rType = RType_Realplay);
/************************************************************************
** 停止实时预览
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StopRealPlay(LONG lRealHandle);
/************************************************************************
** 停止实时预览_扩展
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StopRealPlayEx(LONG lRealHandle);
/************************************************************************
** 保存数据为文件
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SaveRealData(LONG lRealHandle, const char *pchFileName);
/************************************************************************
** 结束保存数据为文件
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StopSaveRealData(LONG lRealHandle);
/************************************************************************
** 设置图像属性
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_ClientSetVideoEffect(LONG lPlayHandle, unsigned char nBrightness, unsigned char nContrast, unsigned char nHue, unsigned char nSaturation);
/************************************************************************
** 获取图像属性
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_ClientGetVideoEffect(LONG lPlayHandle, unsigned char *nBrightness, unsigned char *nContrast, unsigned char *nHue, unsigned char *nSaturation);
/************************************************************************
** 打开声音
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_OpenSound(LONG hPlayHandle);
/************************************************************************
** 关闭声音
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_CloseSound();
/*Begin: Add by yehao(10857) 2006-12-19 */
/************************************************************************
** 打开语音对讲
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_StartTalkEx(LONG lLoginID, pfAudioDataCallBack pfcb, DWORD dwUser);
/************************************************************************
** 设置语音对讲的音量
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SetAudioClientVolume(LONG lTalkHandle, WORD wVolume);
/************************************************************************
** 发送语音数据到设备
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_TalkSendData(LONG lTalkHandle, char *pSendBuf, DWORD dwBufSize);
/************************************************************************
** 开始PC端录音
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_RecordStart();
/************************************************************************
** 结束PC端录音
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_RecordStop();
/************************************************************************
** 解码音频数据
***********************************************************************/
CLIENT_API void CALL_METHOD CLIENT_AudioDec(char *pAudioDataBuf, DWORD dwBufSize);
/************************************************************************
** 打开语音转发
***********************************************************************/
//CLIENT_API LONG CALL_METHOD CLIENT_StartTalk_MR(LONG lLoginID, pfAudioDataCallBack pfcb, DWORD dwUser);
/************************************************************************
** 停止语音对讲
***********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -