大华网络SDK开发手册 下载本文

网络客户端SDK编程手册

通道的音频报警状态,1为有报警,0为无报警

如果调用的侦听接口为CLENT_StartListenEx,则lCommand的可能值是: -DH_ALARM_ALARM_EX:填充数据为16个字节,每个字节表示一个报警通道的报警状态,1为有报警,0为无报警。

-DH_MOTION_ALARM_EX:填充数据为16个字节,每个字节表示一个视频通道的动态检测报警状态,1为有报警,0为无报警。

-DH_VIDEOLOST_ALARM_EX:填充数据为16个字节,每个字节表示一个视频通道的视频丢失报警状态,1为有报警,0为无报警。

-DH_SHELTER_ALARM_EX:填充数据为16个字节,每个字节表示一个视频通道的遮挡(黑屏)报警状态,1为有报警,0为无报警。

-DH_SOUND_DETECT_ALARM_EX:填充数据为16个字节,每个字节表示一个视频通道的音频检测报警状态,1为有报警,0为无报警。

-DH_DISKFULL_ALARM_EX:填充数据为1个字节,1为有硬盘满报警,0为无报警。

-DH_DISKERROR_ALARM_EX:填充数据为32个字节,每个字节表示一个硬盘的故障报警状态,1为有报警,0为无报警。 dwBufLen

pBuf的长度 pchDVRIP

设备IP

nDVRPort

端口

dwUser

回调的用户数据,就是上面输入的用户数据

? 返回值:TRUE回调函数执行正确,FALSE执行错误 ? 相关函数:CLIENT_StartListen、CLIENT_StopListen ? 典型应用:一般在应用程序初始化时调用设置回调,在回调函数中根据不同的

设备ID和命令值做出不同的处理。

7. CLIENT_API BOOL CLIENT_StartListen(LONG lLoginID); ? 函数说明:开始对某个设备侦听消息,用来设置是否需要对设备消息回调,得

到的消息从CLIENT_SetDVRMessCallBack的设置值回调出来。 ? 参数说明:

lLoginID

CLIENT_Login的返回值

? 返回值:成功返回TRUE,失败返回FALSE

? 相关函数:CLIENT_SetDVRMessCallBack,CLIENT_StopListen 典型应用:在设备连接后调用本函数打开侦听

第 25 页 共 93 页 网络客户端SDK编程手册

8. CLIENT_API BOOL CLIENT_StartListenEx(LONG lLoginID)

? 函数说明:开始对某个设备侦听消息,用来设置是否需要对设备消息回调,得

到的消息从CLIENT_SetDVRMessCallBack的设置值回调出来。

本函数是CLIENT_StartListen的增强版本:支持的报警种类更多更全,且每一种报警都细分为单独回调。 ? 参数说明:

lLoginID

CLIENT_Login的返回值

? 返回值:成功返回TRUE,失败返回FALSE

? 相关函数:CLIENT_SetDVRMessCallBack,CLIENT_StopListen ? 典型应用:在设备连接后调用本函数打开侦听

9. CLIENT_API BOOL CLIENT_StopListen(LONG lLoginID); ? 函数说明:停止对某个设备侦听消息 ? 参数说明:

lLoginID

CLIENT_Login返回值

? 返回值:成功返回TRUE,失败返回FALSE

? 相关函数:CLIENT_StartListen , CLENT_StartListenEx ? 典型应用:参见demo程序

4.3 字符叠加

typedef void (CALLBACK *fDrawCallBack)(LONG lLoginID, LONG lPlayHandle, HDC hDC, DWORD dwUser);

10. CLIENT_API void CLIENT_RigisterDrawFun(fDrawCallBack

cbDraw, DWORD dwUser); ? 函数说明:用户自定义画图, 在打开图像之前调用此函数,否则无效,必须在所

有窗口未显示之前调用, 可以用来对画面进行字符叠加。 ? 参数说明:

cbDraw

画图回调,当设置为0时表示禁止回调

dwUser

用户数据

?回调函数说明:

LoginID

第 26 页 共 93 页 网络客户端SDK编程手册

CLIENT_Login的返回值,标识设备。

lPlayHandle

CLIENT_RealPlay的返回值,标识通道。

hDC

是对整个显示画面区域的画板指针,根据用户的需要可以对任何位置叠加显示。 dwUser

用户数据,就是上面输入的用户数据。

? 返回值:无 ? 相关函数: 无 ? 典型应用:本接口最好在应用程序初始化时就调用,具体的处理在回调函数中

根据当前画面ID(可以是监视,多画面预览,回放)叠加不同的信息;

4.4 设备注册

11. CLIENT_API LONG CLIENT_Login(char *pchDVRIP, WORD

wDVRPort, char *pchUserName, char *pchPassword, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0); ? 函数说明:注册用户到设备,当设备端把用户设置为复用(设备默认的用户

不能设置为复用),该帐号可以多次向设备注册 ? 参数说明:

pchDVRIP

设备IP

wDVRPort

设备端口 pchUserName

用户名 pchPassword

用户密码

lpDeviceInfo

设备信息,属于输出参数

error

(当函数返回成功时,该参数的值无意义),返回登录错误码: 1.密码不正确 2.帐号不存在

3.等待登录返回超时

第 27 页 共 93 页 网络客户端SDK编程手册

4.帐号已登录 5.帐号已被锁定

6.帐号又被列为黑名单 7.资源不足,系统忙 9.找不到网络主机 0.其他网络错误

? 返回值:失败返回0,成功返回设备ID,登录成功之后对设备的操作都可以

通过此值(设备句柄)对应到相应的设备 ? 相关函数:CLIENT_Logout

? 典型应用:在初始化后就可以调用本接口注册到指定的设备,成功后将返回

设备句柄,给相关的函数调用

12. CLIENT_API LONG CLIENT_LoginEx(char *pchDVRIP, WORD

wDVRPort, char *pchUserName, char *pchPassword, int nSpecCap, void* pCapParam, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0) ? 函数说明:注册用户到设备的扩展接口,支持一个用户指定设备支持的能力 ? 参数说明:增加扩展参数

nSpecCap

设备支持的能力,值为1表示同一用户名可以多次登录, 其他暂时不支持 pCapParam

对nSpecCap 的补充参数, 目前为0

? 返回值: 失败返回0,成功返回设备ID,登录成功之后对设备的操作都可以

通过此值(设备句柄)对应到相应的设备 ? 相关函数: CLIENT_Logout

? 典型应用:一个用户同时多次登录同一台设备

13. CLIENT_API BOOL CLIENT_Logout(LONG lLoginID); ? 函数说明:注销设备用户 ? 参数说明:

lLoginID

CLIENT_Login的返回值

? 返回值:成功返回TRUE,失败返回FALSE ? 相关函数: CLIENT_Login

? 典型应用:当需要设备主动断开时调用;

第 28 页 共 93 页