设备网络SDK开发使用手册 |
获取设备能力集。
BOOL NET_DVR_GetDeviceAbility( LONG lUserID, DWORD dwAbilityType, char *pInBuf, DWORD dwInLength, char *pOutBuf, DWORD dwOutLength );
宏定义 | 宏定义值 | 含义 |
---|---|---|
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参数的具体定义格式按照不同的设备规定有所不同,可以是以结构体的形式或者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 |
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 | 程序异常。 |
设备能力集在4.2版本中已经做了扩展,扩展后V2.0版本的能力集请参见NET_DVR_GetDeviceAbility。
NET_DVR_Login NET_DVR_Login_V30