CB_Device SDK · 错误码

版本 1.0 · 更新于 2026-10-21 · 阅读 0

CB_E_* 全部返回码含义与常见排查方向。

CB_Device SDK 的返回类型为 CB_RESULT(即 int)。下表列出全部返回码,成功为 CB_E_SUCCESS(0),其余为各类错误。

返回码 值 含义
CB_E_SUCCESS 0x00000000 操作成功
CB_E_FAIL 0x80000001 操作失败
CB_E_ERROR 0x80000002 操作错误
CB_E_SDK_VERSION 0x80000003 SDK版本与固件的DeviceControlVersion版本不匹配
CB_E_DCD_VERSION 0x80000004 DeviceControlDesc版本与固件的DeviceControlVersion版本不匹配
CB_E_INITIAL 0x80000005 SDK未初始化
CB_E_ARGUMENT 0x80000006 无效参数
CB_E_POINTER 0x80000007 无效指针
CB_E_HANDLE 0x80000008 无效句柄
CB_E_ALLOC 0x80000009 内存分配失败
CB_E_NOT_OPENED 0x8000000a 设备没有打开
CB_E_NOT_IMPLEMENTED 0x8000000b 参数没有实现
CB_E_NOT_AVALIABLE 0x8000000c 参数暂不可用
CB_E_NOT_READABLE 0x8000000d 参数不可读
CB_E_NOT_WRITABLE 0x8000000e 参数不可写
CB_E_NOT_FOUND 0x8000000f xml参数表中没有找到相应的参数
CB_E_TIMEOUT 0x80000010 传输超时
CB_E_TRANSPORT_LAYER 0x80000011 传输层失败
CB_E_CP_STATUS 0x80000012 控制协议状态不正确
CB_E_INCOMPLETE_FRAME 0x80000013 不完整帧
CB_E_ZERO_FRAME 0x80000014 0字节帧
CB_E_ACCESS 0x80000015 设备被另一个进程占用,拒绝操作
CB_E_REPEAT 0x80000016 不必要的重复操作,操作被取消
CB_E_CONFLICT 0x80000017 此操作与设备当前状态有冲突,操作被取消,比如某些操作需要在采集状态,某些操作必须在非采集状态等

常见排查方向

  • CB_E_NOT_OPENED:调用参数/采集类接口前先 CB_OpenDevice。
  • CB_E_INITIAL:调用任何接口前先 CB_Initial。
  • CB_E_ACCESS:设备被其他进程占用,关闭占用程序或换设备索引。
  • CB_E_NOT_FOUND / CB_E_NOT_AVALIABLE:参数名或条目名拼写错误,或当前固件不支持,先用 CB_GetParamNameByIndex 列出可用参数。
  • CB_E_TIMEOUT / CB_E_INCOMPLETE_FRAME / CB_E_ZERO_FRAME:检查设备连接、触发信号与 CB_SetGrabTimeout。