KSJXS SDK · 初始化与设备管理

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

SDK 初始化/反初始化、日志、版本查询、设备枚举与句柄生命周期管理。

本组对应头文件 @defgroup Base 基本功能。设备必须先枚举再创建句柄,句柄用完必须销毁。

KSJXS_SetLog

int KSJXS_SetLog(bool bEnable, const char* pszFolder = 0, int nLevel = 2)

设置 Log 日志是否输出、输出目录与日志等级。

参数 方向 说明
bEnable in 是否打开 Log 日志输出功能
pszFolder in 日志保存目录;可为 NULL
nLevel in 日志等级,默认 2

返回:成功返回 KSJXS_RET_SUCCESS

说明

  • 可在任意时刻调用,建议在 KSJXS_Inital() 之前调用。
  • pszFolder 为 NULL 时,日志自动输出到程序目录下的 ApiLogs 目录。
  • 不支持使能后修改日志等级;需改等级时先禁用再重新使能。

KSJXS_Inital

int KSJXS_Inital()

初始化 SDK。

返回:成功返回 KSJXS_RET_SUCCESS

说明

  • ⚠️ 本函数名在头文件中的原始拼写为 KSJXS_Inital(Initial 少写了一个 i),调用时须照抄头文件,写成常规拼写会链接失败。
  • 每次 Inital 会重新枚举 USB 接口的 UC3D 设备。

KSJXS_UnInitial

int KSJXS_UnInitial()

反初始化 SDK,释放资源。

返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码

KSJXS_GetSDKVersion

unsigned int KSJXS_GetSDKVersion()

获取 SDK 版本号,返回 4 字节版本号。

返回:返回 4 字节版本号(非错误码)

说明

  • 字节排列为 |主 8bits|次 8bits|修正 8bits|测试 8bits|。
  • 例:返回 0x01000001 表示 SDK 版本 V1.0.0.1。

KSJXS_EnumDevices

int KSJXS_EnumDevices(IN OUT KSJXS_DEVICE_INFO_LIST* pstDevInfoList)

枚举当前可连接的设备,结果写入设备列表。

参数 方向 说明
pstDevInfoList in/out 设备列表,接收枚举结果(最多 256 台)

返回:成功返回 KSJXS_RET_SUCCESS

说明

  • 设备列表内每台设备信息的内存由 SDK 内部管理,建议避免多线程同时枚举。
  • 每次调用都会重新枚举可连接的设备。
  • USB 接口的 UC3D 设备需 UnInitial 再 Inital 后才会重新枚举,否则返回结果保持不变。

KSJXS_SetDeviceInfo

int KSJXS_SetDeviceInfo(IN int nIndex, IN KSJXS_DEVICE_INFO* pstDevInfo)

设置设备信息(IP 地址、Serial 号等)。

参数 方向 说明
nIndex in 设备在枚举列表中的索引号
pstDevInfo in 要修改的设备信息

返回:成功返回 KSJXS_RET_SUCCESS

说明

  • 做法:先从 KSJXS_DEVICE_INFO_LIST 复制一份设备信息,改完要修改的字段(IP / Serial 等)再传入。

KSJXS_CreateDeviceHandle

int KSJXS_CreateDeviceHandle(IN void** phandle, IN KSJXS_DEVICE_INFO* pstDevInfo)

根据设备信息创建设备句柄。

参数 方向 说明
phandle out 接收返回的设备句柄指针
pstDevInfo in 要创建句柄的设备信息(应为枚举列表中的某个设备信息指针)

返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码

KSJXS_OpenDevice

int KSJXS_OpenDevice(IN void* handle)

打开(占用)设备。

参数 方向 说明
handle in 设备句柄

返回:成功返回 KSJXS_RET_SUCCESS

说明

  • 打开后设备被独占,其他进程将无法再打开。

KSJXS_CloseDevice

int KSJXS_CloseDevice(IN void* handle)

关闭设备,释放独占,允许其他进程使用。

参数 方向 说明
handle in 设备句柄

返回:成功返回 KSJXS_RET_SUCCESS;失败返回错误码

KSJXS_DestroyDeviceHandle

int KSJXS_DestroyDeviceHandle(IN void* handle)

销毁设备句柄,释放资源。

参数 方向 说明
handle in 设备句柄

返回:成功返回 KSJXS_RET_SUCCESS

说明

  • 销毁前应先 KSJXS_CloseDevice。