KSJAPI SDK · 初始化与设备管理

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

KSJ_Init / 枚举相机 / 读取型号序号固件 / 功能查询 / 打开关闭 / 版本与日志。

本组接口来自 KSJApiBase.h、KSJApiMultiProcess.h、KSJApiFunction.h、KSJApiProgram.h。

调用任何其他接口前,必须先执行 KSJ_Init(且相机已在主机上连接)。

函数一览

函数 说明
KSJ_Init 初始化 KSJApi 动态库,整个进程运行期间只需调用一次。
KSJ_UnInit 反初始化,释放资源并关闭本进程中所有已打开的相机。
KSJ_DeviceGetCount 返回连接到主机上的凯视佳相机数目。
KSJ_DeviceGetInformation 读取相机信息(型号、序号、固件版本号)。
KSJ_DeviceGetInformationEx 读取相机信息(型号、序号、固件版本号、FPGA 版本号)。
KSJ_QueryFunction 查询相机是否支持某项功能。
KSJ_DeviceOpen 打开指定索引的相机(多进程场景必须调用)。
KSJ_DeviceClose 关闭指定索引的相机;不关闭则多进程下其他进程无法操作这台相机。
KSJ_DeviceGetStatus 获取相机在当前进程中的开启/关闭状态。
KSJ_SetSerials 给相机分配序号(0-255,保存到相机内部),用于在重新枚举后区分物理相机。
KSJ_GetSerials 获取相机序号。
KSJ_SerialsDescReadout 读取相机唯一序列号 SN(与硬件标牌一致)。
KSJ_HardwareVersionReadout 读取相机硬件版本号。
KSJ_GetDeviceIndex 由用户分配的序号反查当前相机索引(找不到返回 -1)。
KSJ_GetVersion 获取 KSJAPI 库版本号。
KSJ_GetDriveVersion 获取相机驱动版本号。
KSJ_LogSet 开启/关闭日志输出并指定保存目录。
KSJ_LogGet 获取日志开关状态与保存目录。
KSJ_OpenSettingPage 弹出相机设置界面。
KSJ_IsSettingPageShow 查询相机设置界面是否已打开。
KSJ_CloseSettingPageShow 关闭相机设置界面。

关键函数详解

KSJ_Init

int __stdcall KSJ_Init();

初始化 KSJApi 动态库,整个进程运行期间只需调用一次。

返回:成功返回 RET_SUCCESS(1);失败返回错误码

说明

  • 相机需在调用本函数之前与电脑连接。
  • 可以重复调用;第二次调用若发现已初始化,则不进行任何操作,直接返回 RET_SUCCESS。
  • 如需重新枚举相机,请先 KSJ_UnInit() 再 KSJ_Init();重新枚举后操作索引 nIndex 可能变化,不能靠索引区分相机,应用 KSJ_SetSerials 分配序号区分。

KSJ_DeviceGetInformation

int __stdcall KSJ_DeviceGetInformation(int nIndex, KSJ_DEVICETYPE* pDeviceType, int* pnSerials, unsigned short* pwFirmwareVersion);

读取相机信息(型号、序号、固件版本号)。

参数 方向 说明
nIndex in 相机索引(从 0 开始)
pDeviceType out 相机类型(KSJ_DEVICETYPE)
pnSerials out 相机序号(可通过 KSJ_SetSerials 修改,用于区分物理相机)
pwFirmwareVersion out 固件版本号

返回:成功返回 RET_SUCCESS(1);失败返回错误码(见错误码章节)

KSJ_QueryFunction

int __stdcall KSJ_QueryFunction(int nIndex, KSJ_FUNCTION Function, int* pInfo);

查询相机是否支持某项功能。

参数 方向 说明
nIndex in 相机索引
Function in 要查询的功能枚举(KSJ_FUNCTION)
pInfo out 返回结果:0 表示不支持,非 0 表示支持

返回:成功返回 RET_SUCCESS(1);失败返回错误码

说明

  • 调用前须完成 KSJ_Init。设置任何可选功能前,建议先用本函数确认相机是否支持。

KSJ_GetDeviceIndex

int __stdcall KSJ_GetDeviceIndex(int nSerials);

由用户分配的序号反查当前相机索引(找不到返回 -1)。

返回:返回索引值(找不到对应序号时返回 -1)

说明

  • 有多个相同 Serial 时返回最先找到(索引较小)的相机。

KSJ_LogSet

int __stdcall KSJ_LogSet(bool bEnable, const TCHAR* pszFolder);

开启/关闭日志输出并指定保存目录。

返回:成功返回 RET_SUCCESS(1)

说明

  • pszFolder 为 NULL 或空字符串时,日志自动创建于库所在目录下 KSJApiLog 目录。可在任意时刻调用。