海康威视设备⽹络SDK编程指南(报警主机)
设备(报警主机) ⽹络SDK编程指南
V5.2
声明
⾮常感谢您购买我公司的产品,如果您有什么疑问或需要请随时。
●我们已尽量保证⼿册内容的完整性与准确性,但也不免出现技术上不准确、与产品功能及操作不相符
或印刷错误等情况,如有任何疑问或争议,请以我司最终解释为准。
●产品和⼿册将实时进⾏更新,恕不另⾏通知。
●本⼿册中内容仅为⽤户提供参考指导作⽤,请以SDK实际内容为准。
⽬录
声明 ............................................................................................................................................................
............... I ⽬录.......................................................................................................................................................................... II
1 SDK简介 (1)
2 版本更新 (4)
3 功能接⼝介绍 (13)
3.1报警主机通⽤接⼝ (13)
3.2DS-19Axx⽹络报警主机 (15)
3.3DS-19Axx总线式⽹络报警主机 (18)
3.4DS-19Dxx动环监控主机 (20)
3.5DS-19Cxx⾃助⾏报警主机 (23)
3.6DS-19Sxx视频报警主机 (26)
3.7DS-1H02防护舱控制器 (34)
3.8DS-19xx系列报警主机 (38)
4 函数调⽤顺序 (40)
4.1参数配置模块流程 (40)
4.2报告上传⽅式配置流程 (41)
4.3报警模块流程 (42)
4.3.1 报警(布防)流程 (42)
4.3.2 报警(监听)流程 (43)
5 函数说明 (44)
5.1SDK初始化 (44)
5.1.1 初始化SDK NET_DVR_Init (44)
5.1.2 释放SDK资源NET_DVR_Cleanup (44)
5.2SDK本地功能 (44)
SDK本地参数配置 (44)
5.2.1 获取SDK本地参数NET_DVR_GetSDKLocalCfg (44)
5.2.2 设置SDK本地参数NET_DVR_SetSDKLocalCfg (45)
连接和接收超时时间及重连设置 (45)
5.2.3 设置⽹络连接超时时间和连接尝试次数NET_DVR_SetConnectTime (45)
5.2.4 设置重连功能NET_DVR_SetReconnect (46)
5.2.5 设置接收超时时间NET_DVR_SetRecvTimeOut (46)
多⽹卡绑定 (46)
5.2.6 获取所有IP,⽤于⽀持多⽹卡接⼝NET_DVR_GetLocalIP (46)
5.2.7 设置IP绑定NET_DVR_SetValidIP (47)
SDK版本、状态和能⼒ (47)
5.2.8 获取SDK的版本号和build信息NET_DVR_GetSDKBuildVersion (47)
5.2.9 获取当前SDK的状态信息NET_DVR_GetSDKState (47)
5.2.10 获取当前SDK的功能信息NET_DVR_GetSDKAbility (47)
SDK启⽤写⽇志 (48)
5.2.11 启⽤写⽇志⽂件NET_DVR_SetLogToFile (48)
异常消息回调 (48)
5.2.12 注册接收异常、重连等消息的窗⼝句柄或回调函数NET_DVR_SetExceptionCallBack_V30 48获取错误信息 (50)
5.2.13 返回最后操作的错误码NET_DVR_GetLastError (50)
5.2.14 返回最后操作的错误码信息NET_DVR_GetErrorMsg (51)
5.3⽤户注册 (51)
5.3.1 激活设备NET_DVR_ActivateDevice (51)
5.3.2 通过解析服务器,获取设备的动态IP地址和端⼝号NET_DVR_GetDVRIPByResolveSvr_EX51 5.3.3 ⽤户注册设备NET_DVR_Login_V40 (52)
5.3.4 ⽤户注销NET_DVR_Logout (52)
5.4获取设备能⼒集 (52)
5.4.1 获取设备能⼒集NET_DVR_GetDeviceAbility (52)
5.5布防、撤防 (53)
设置报警等信息上传的回调函数 (53)
5.5.1 注册回调函数,接收设备报警消息NET_DVR_SetDVRMessageCallBack_V30 (53)
布防撤防 (55)
5.5.2 建⽴报警上传通道NET_DVR_SetupAlarmChan_V41 (55)
5.5.3 撤销报警上传通道NET_DVR_CloseAlarmChan_V30 (55)
5.6监听报警 (55)
5.6.1 启动监听,接收设备主动上传的报警等信息NET_DVR_StartListen_V30 (55)
5.6.2 停⽌监听(⽀持多线程)NET_DVR_StopListen_V30 (56)
5.7远程参数配置 (57)
5.7.1 获取设备通⽤参数NET_DVR_GetDVRConfig (57)
5.7.2 设置设备通⽤参数NET_DVR_SetDVRConfig (58)
5.7.3 获取报警主机参数NET_DVR_GetDVRConfig (59)
5.7.4 设置报警主机参数NET_DVR_SetDVRConfig (62)
5.8批量配置参数 (65)
5.8.1 批量获取配置信息NET_DVR_GetDeviceConfig (65)
5.8.2 批量设置配置信息NET_DVR_SetDeviceConfig (66)
5.9长连接配置 (67)
5.9.1 启动长连接远程配置NET_DVR_StartRemoteConfig (67)
5.9.2 逐个获取查到的结果信息NET_DVR_GetNextRemoteConfig (69)
5.9.3 关闭长连接配置接⼝所创建的句柄,释放资源NET_DVR_StopRemoteConfig (70) 5.10远程控制 (70)
5.10.1 远程控制NET_DVR_RemoteControl (70)
5.11设备⽤户和操作⽤户配置 (71)
5.11.1 获取设备⽤户配置信息NET_DVR_GetAlarmDeviceUser (71)
5.11.2 设置设备⽤户配置信息NET_DVR_SetAlarmDeviceUser (71)
5.11.3 获取键盘操作⽤户配置信息NET_DVR_GetOperateUser (71)
5.11.4 设置键盘操作⽤户配置参数NET_DVR_SetOperateUser (72)
5.12RS485前端设备 (72)
5.12.1 获取485前端设备能⼒列表NET_DVR_GetDeviceTypeList (72)
5.12.2 获取RS485前端设备⽀持的协议列表NET_DVR_GetDeviceProtoList (72)
5.13透明通道 (73)
5.13.1 建⽴透明通道NET_DVR_AlarmHostSerialStart (73)
5.13.2 发送透明通道数据NET_DVR_AlarmHostSerialSend (73)
5.13.3 断开透明通道NET_DVR_AlarmHostSerialStop (74)
5.14防区布防、撤防、旁路及撤销旁路 (74)
5.14.1 对防区布防NET_DVR_AlarmHostSetupAlarmChan (74)
5.14.2 对防区撤防NET_DVR_AlarmHostCloseAlarmChan (74)
5.14.3 对防区旁路NET_DVR_BypassAlarmChan (74)
5.14.4 对防区撤销旁路NET_DVR_UnBypassAlarmChan (75)
5.15防区组旁路 (75)
5.15.1 对防区进⾏组旁路NET_DVR_AlarmHostArrayBypass (75)
5.15.2 对防区进⾏组旁路恢复NET_DVR_AlarmHostArrayBypassResume (75)
5.16触发器和辅助输出控制 (75)
5.1
6.1 设置触发器NET_DVR_SetAlarmHostOut (75)
5.1
6.2 辅助功能控制NET_DVR_AlarmHostAssistantControl (76)
5.1
6.3 门禁控制NET_DVR_ControlGateway (76)
5.17⼦系统布防、撤防及消警 (76)
5.17.1 对防区⼦系统布防NET_DVR_AlarmHostSubSystemSetupAlarmChan (76) 5.17.2 对防区⼦系统撤防NET_DVR_AlarmHostSubSystemCloseAlarmChan (77) 5.17.3 对防区⼦系统进⾏消警NET_DVR_AlarmHostClearAlarm (77)
5.18获取报警上传⽅式配置 (77)
5.18.1 获取报警上传⽅式参数NET_DVR_AlarmHostGetReportMode (77)
5.18.2 设置报警上传⽅式NET_DVR_AlarmHostSetReportMode (77)
5.19蓄电池电压查询 (78)
5.19.1 蓄电池电压查询NET_DVR_GetBatteryVoltage (78)
5.20语⾳控制 (78)
5.20.1 语⾳控制NET_DVR_AudioCtrl (78)
5.21语⾳上传下载 (78)
5.21.1 开始语⾳上传NET_DVR_StartUploadFile (78)
5.21.2 获取语⾳上传的进度NET_DVR_GetUploadFileProgress (79)
5.21.3 获取语⾳上传的状态NET_DVR_GetUploadFileState (79)
5.21.4 停⽌语⾳上传NET_DVR_StopUploadFile (79)
5.21.5 开始语⾳下载NET_DVR_StartDownloadFile (79)
api接口和sdk接口的区别5.21.6 获取语⾳下载的进度NET_DVR_GetDownloadFileProgress (80)
5.21.7 获取语⾳下载的状态NET_DVR_GetDownloadFileState (80)
5.21.8 停⽌语⾳下载NET_DVR_StopDownloadFile (80)
5.22语⾳对讲 (80)
5.22.1 启动语⾳对讲NET_DVR_StartVoiceCom_V30 (80)
5.22.2 停⽌语⾳对讲NET_DVR_StopVoiceCom (82)
5.23硬盘管理 (82)
5.23.1 远程格式化设备硬盘NET_DVR_FormatDisk (82)
5.23.2 获取格式化硬盘的进度NET_DVR_GetFormatProgress (82)
5.23.3 关闭格式化硬盘句柄,释放资源NET_DVR_CloseFormatHandle (83)
5.24设备维护管理 (83)
状态获取 (83)
5.24.1 获取外接设备状态信息NET_DVR_GetDeviceStatus (83)
5.24.2 获取报警主机状态信息NET_DVR_GetDVRConfig (84)
5.24.3 设备在线状态检测NET_DVR_RemoteControl (84)
⽇志查询 (85)
5.24.4 查⽇志信息NET_DVR_FindAlarmHostLog (85)
5.24.5 逐条获取⽇志信息NET_DVR_FindNextAlarmHostLog (85)
5.24.6 关闭⽇志查NET_DVR_FindAlarmHostLogClose (86)
远程升级 (86)
5.24.7 远程升级设备固件NET_DVR_Upgrade_V40 (86)
5.24.8 获取远程升级的进度NET_DVR_GetUpgradeProgress (87)
5.24.9 获取远程升级的状态NET_DVR_GetUpgradeState (87)
5.24.10 关闭远程升级NET_DVR_CloseUpgradeHandle (87)
恢复设备默认参数 (87)
5.24.11 恢复设备默认参数NET_DVR_RestoreConfig (87)
5.24.12 完全恢复出⼚默认参数NET_DVR_RemoteControl (87)
6 错误代码及说明 (89)
6.1⽹络通讯库错误码 (89)
6.2语⾳对讲库错误码 (92)
7 附录.名词解释 (94)
1SDK简介
设备⽹络SDK是基于设备私有⽹络通信协议开发的,为嵌⼊式⽹络硬盘录像机、NVR、视频服务器、⽹络摄像机、⽹络球机、解码器、报警主机等⽹络产品服务的配套模块,⽤于远程访问和控制设备软件的⼆次开发。
本⽂档仅介绍报警主机⽀持的功能及相关接⼝,相关结构体和更多其他功能接⼝请参考《设备⽹络SDK 使⽤⼿册.chm》。
适⽤于但不仅限于以下产品型号:
DS_19XX: 1900系列,只有1906产品,其他都为串⼝协议
DS_19DXX: 动环监控报警主机
DS_19AXX: ⽹络报警主机和总线式⽹络报警主机
DS_19CXX: ⾃助银⾏报警主机
DS_19SXX: 视频报警主机
DS_1HXX: 其中的DS-1H02防护舱控制器
设备⽹络SDK包含⽹络通讯库、软解码库、硬解码库等功能组件,我们提供Windows和Linux两个版本的SDK,各⾃所包含的组件如下: