设备网络SDK开发使用手册

NET_DVR_GetDeviceAbility

获取设备能力集。

BOOL NET_DVR_GetDeviceAbility(
  LONG     lUserID,
  DWORD    dwAbilityType,
  char     *pInBuf,
  DWORD    dwInLength,
  char     *pOutBuf,
  DWORD    dwOutLength
);

Parameters

lUserID
[in] NET_DVR_Login_V40等登录接口的返回值
dwAbilityType
[in] 能力类型,具体定义见下表:
宏定义 宏定义值 含义
IPC_FRONT_PARAMETER_V20 0x009 设备前端参数
DEVICE_ABILITY_INFO 0x011 智能交通摄像机和ITS智能终端设备能力
SNAPCAMERA_ABILITY 0x300 智能交通摄像机抓拍能力
ITC_TRIGGER_MODE_ABILITY 0x301 智能交通摄像机(V3.1及以后版本)的触发模式能力
pInBuf
[in] 输入缓冲区指针(按照设备规定的能力参数的描述方式组合,可以是XML文本字符串指针或结构体指针形式)
dwInLength
[in] 输入缓冲区的长度
pOutBuf
[out] 输出缓冲区指针
dwOutLength
[in] 接收数据的缓冲区的长度

Return Values

TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

以下是该接口可能返回的错误值

错误类型 错误值 错误信息
NET_DVR_NOERROR 0 没有错误。
NET_DVR_NOINIT 3 SDK未初始化。
NET_DVR_VERSIONNOMATCH 6 版本不匹配。SDK和设备的版本不匹配。
NET_DVR_NETWORK_FAIL_CONNECT 7 连接设备失败。设备不在线或网络原因引起的连接超时等。
NET_DVR_NETWORK_SEND_ERROR 8 向设备发送失败。
NET_DVR_NETWORK_RECV_ERROR 9 从设备接收数据失败。
NET_DVR_NETWORK_RECV_TIMEOUT 10 从设备接收数据超时。
NET_DVR_ORDER_ERROR 12 调用次序错误。
NET_DVR_PARAMETER_ERROR 17 参数错误。SDK接口中给入的输入或输出参数为空。
NET_DVR_ALLOC_RESOURCE_ERROR 41 SDK资源分配错误。
NET_DVR_NOENOUGH_BUF 43 缓冲区太小。接收设备数据的缓冲区或存放图片缓冲区不足。
NET_DVR_CREATESOCKET_ERROR 44 创建SOCKET出错。
NET_DVR_USERNOTEXIST 47 用户不存在。注册的用户ID已注销或不可用。
NET_DVR_BINDSOCKET_ERROR 72 绑定套接字失败。
NET_DVR_SOCKETCLOSE_ERROR 73 socket连接中断,此错误通常是由于连接中断或目的地不可达。
NET_DVR_PROGRAM_EXCEPTION 76 程序异常。

Remarks

接口中pInBuf参数的具体定义格式按照不同的设备规定有所不同,可以是以结构体的形式或者XML描述方式。同样地,参数pOutBuf的输出表达格式也按不同的设备规定可以是以结构体的形式或者XML描述方式。下表给出了获取智能交通摄像机能力集时,需要输入参数和输出参数的格式定义。

能力类型宏定义 能力类型说明 pInBuf pOutBuf
IPC_FRONT_PARAMETER_V20 获取设备前端参数 前端参数能力获取输入描述 设备前端参数XML描述
DEVICE_ABILITY_INFO 设备通用能力类型,具体能力根据发送的能力节点来区分 抓拍机和智能终端的能力输入描述 抓拍机和智能终端的能力(ITDeviceAbility)
车辆二次识别检测能力输入描述 车辆二次识别检测能力(VehicleRecogAbility)
SNAPCAMERA_ABILITY 智能交通摄像机的抓拍能力 NET_DVR_SNAP_ABILITY
ITC_TRIGGER_MODE_ABILITY 智能交通摄像机(V3.1及以后版本)的触发模式能力 ITC_MAINMODE_ABILITY NET_ITC_TRIGGERMODE_ABILITY

See Also

NET_DVR_Login   NET_DVR_Login_V30