使用海康威视C# SDK添加卡片时出现NET_DVR_SET_CARD ERROR 9求助
海康SDK卡片录入ERROR 9问题排查与解决
错误码说明
海康威视SDK的ERROR 9对应参数非法,意味着调用NET_DVR_SET_CARD接口时传入的参数不符合设备的校验要求。
核心原因分析
结合你提到的「通过IVMS 4200录入成员后指纹录入功能正常」的现象,问题大概率出在卡片未关联设备中已存在的合法人员信息:
- 海康门禁类设备要求卡片必须绑定已注册的人员信息,直接调用
NET_DVR_SET_CARD时,若传入的人员ID/编号在设备中不存在,会触发参数非法错误 - IVMS 4200录入成员的过程,已经完成了人员信息到设备的同步,此时再录入卡片可正常完成关联,因此功能正常
具体修复步骤
- 校验人员关联参数:检查
NET_DVR_SET_CARD对应的结构体(如NET_DVR_CARD_INFO)中,人员相关字段(如dwUserID、sUserNo等)是否为设备中已存在的合法人员ID/编号 - 提前录入人员信息:在调用卡片录入接口前,先通过
NET_DVR_SET_USER_INFO接口将人员信息注册到设备中,确保人员ID已在设备系统内存在 - 核对参数格式细节:再次确认卡片参数的格式(如卡号长度、卡片类型、有效期范围、卡号进制等)是否匹配设备要求,部分设备对卡号的输入格式(十进制/十六进制)有严格限制
- 对比SDK示例逻辑:将你的表单代码与SDK自带的
NET_DVR_SET_CARD调用示例对比,重点排查结构体初始化(如dwSize是否正确设置为结构体大小)、必填字段是否遗漏等细节
验证方法
可先调用NET_DVR_GET_USER_INFO接口查询设备中已存在的人员ID,使用该ID作为卡片绑定的人员参数,测试NET_DVR_SET_CARD是否能正常执行,以此确认人员信息缺失是否为问题根源。
内容的提问来源于stack exchange,提问作者Zameerul Haq
相关产品推荐
相关产品推荐

