设备网络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] 能力类型,具体定义见下表:
宏定义 宏定义值 含义
DEVICE_SOFTHARDWARE_ABILITY 0x001 设备软硬件能力
DEVICE_NETWORK_ABILITY 0x002 设备无线网络能力
DEVICE_ENCODE_ALL_ABILITY 0x003 设备所有编码能力
DEVICE_ENCODE_CURRENT 0x004 设备当前编码能力
IPC_FRONT_PARAMETER 0x005 设备前端参数
DEVICE_RAID_ABILITY 0x007 设备RAID能力
DEVICE_ALARM_ABILITY 0x00a 设备报警能力
VCA_DEV_ABILITY 0x100 智能设备的能力
VCA_CHAN_ABILITY 0x110 智能通道的能力
MATRIXDECODER_ABILITY 0x200 多路解码器显示、解码能力
SNAPCAMERA_ABILITY 0x300 智能交通摄像机能力集
COMPRESSIONCFG_ABILITY 0x400 压缩参数能力
COMPRESSION_LIMIT 0x401 主子码流压缩参数能力限制
PIC_CAPTURE_ABILITY 0x402 抓图图片分辨率能力集
pInBuf
[in] 输入缓冲区指针(按照设备规定的能力参数的描述方式组合,可以是XML文本或结构体形式)
dwInLength
[in] 输入缓冲区的长度
pOutBuf
[out] 输出缓冲区指针(按照设备规定的能力集的描述方式,可以是XML文本或结构体形式)
dwOutLength
[in] 接收数据的缓冲区的长度

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

能力类型宏定义 能力类型说明 pInBuf pOutBuf
DEVICE_SOFTHARDWARE_ABILITY 获取设备软硬件能力 设备软硬件能力XML描述
DEVICE_NETWORK_ABILITY 获取无线设备网络能力 设备无线网络能力XML描述
DEVICE_ENCODE_ALL_ABILITY 获取设备所有编码能力 设备所有编码能力XML描述
DEVICE_ENCODE_CURRENT 获取设备当前编码能力 当前编码能力输入描述 设备当前编码能力XML描述
IPC_FRONT_PARAMETER 获取设备前端参数 设备前端参数XML描述
DEVICE_RAID_ABILITY 获取设备RAID能力 设备RAID能力XML描述
DEVICE_ALARM_ABILITY 获取设备报警能力 报警能力获取输入描述 设备报警能力XML描述
VCA_DEV_ABILITY 获取智能设备的能力 NET_VCA_DEV_ABILITY
VCA_CHAN_ABILITY 获取智能通道能力 NET_VCA_CHAN_IN_PARAM NET_VCA_BEHAVIOR_ABILITY
MATRIXDECODER_ABILITY 获取多路解码器显示、解码能力 NET_DVR_MATRIX_ABILITY
SNAPCAMERA_ABILITY 获取智能交通摄像机的能力 NET_DVR_SNAP_ABILITY
COMPRESSIONCFG_ABILITY 获取压缩参数能力 通道号(4个字节) NET_DVR_COMPRESSIONCFG_ABILITY
COMPRESSION_LIMIT 获取主子码流压缩参数能力限制 NET_DVR_COMPRESSION_LIMIT NET_DVR_COMPRESSIONCFG_ABILITY
PIC_CAPTURE_ABILITY 获取图片能力 通道号(4个字节) NET_DVR_COMPRESSIONCFG_ABILITY

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

设备能力集在4.2版本中已经做了扩展,扩展后V2.0版本的能力集请参见NET_DVR_GetDeviceAbility

See Also

NET_DVR_Login   NET_DVR_Login_V30