📄 dhnetsdk.h
字号:
** 报警IO控制
***********************************************************************/
typedef struct {
unsigned short index; //端口序号
unsigned short state; //端口状态
}ALARM_CONTROL;
/************************************************************************
** 服务器断开回调原形
***********************************************************************/
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);
/************************************************************************
** 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 //多画面预览
}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();
/************************************************************************
** 设置音量
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SetVolume(LONG lPlayHandle, int nVolume);
typedef struct _tagVideoFrameParam
{
BYTE encode; //编码类型
BYTE frametype; //I = 0, P = 1, B = 2...
BYTE format; //PAL - 0, NTSC - 1
BYTE size; //CIF - 0, HD1 - 1, 2CIF - 2, D1 - 3, VGA - 4, QCIF - 5, QVGA - 6
DWORD fourcc; //如果是H264编码则总为0,MPEG4这里总是填写FOURCC('X','V','I','D');
DWORD reserved; //保留
NET_TIME struTime; //时间信息
}tagVideoFrameParam;
typedef struct _tagCBPCMDataParam
{
BYTE channels; // 声道数
BYTE samples; // 采样 0 - 8000, 1 - 11025, 2 - 16000, 3 - 22050, 4 - 32000, 5 - 44100, 6 - 48000
BYTE depth; // 采样深度 取值8或者16等。直接表示
BYTE param1; // 0 - 指示无符号,1-指示有符号
DWORD reserved; // 保留
}tagCBPCMDataParam;
/************************************************************************
** 设置实时预览回调
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SetRealDataCallBack(LONG lRealHandle, fRealDataCallBack cbRealData, DWORD dwUser);
/************************************************************************
** 设置实时预览回调-扩展
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SetRealDataCallBackEx(LONG lRealHandle, fRealDataCallBackEx cbRealData, DWORD dwUser, DWORD dwFlag);
/************************************************************************
** 抓图
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_CapturePicture(LONG hPlayHandle, const char *pchPicFileName);
/************************************************************************
** 通过时间查询录像文件
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_QueryRecordFile(LONG lLoginID, int nChannelId, int nRecordFileType, LPNET_TIME tmStart, LPNET_TIME tmEnd, char* pchCardid, LPNET_RECORDFILE_INFO nriFileinfo, int maxlen, int *filecount, int waittime=15000, bool bTime=false);
/************************************************************************
** 回放录像文件
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByRecordFile(LONG lLoginID, LPNET_RECORDFILE_INFO lpRecordFile, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwUserData);
/************************************************************************
** 回放录像文件扩展_增加了数据回调参数
***********************************************************************/
CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByRecordFileEx(LONG lLoginID, LPNET_RECORDFILE_INFO lpRecordFile, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwPosUser, fDataCallBack fDownLoadDataCallBack, DWORD dwDataUser);
/************************************************************************
** 暂停录像回放
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_PausePlayBack(LONG lPlayHandle, BOOL bPause);
/************************************************************************
** 定位录像回放起始点
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_SeekPlayBack(LONG lPlayHandle, unsigned int offsettime, unsigned int offsetbyte);
/************************************************************************
** 停止录像回放
***********************************************************************/
CLIENT_API BOOL CALL_METHOD CLIENT_StopPlayBack(LONG lPlayHandle);
/************************************************************************
** 步进录像回放
***********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -