c#开发海康工业相机时 提示端口占用错误代:0x80000203
导致的原因官网提示如下:
1、该相机已经被其它程序占用了。
2、可能是设置心跳时间过长,而程序没有执行关闭设备或者销毁设备句柄接口,直接异常退出(在调试模式下常见),导致设备一直被占用着。
但也会存在正常退出提示上述异常,问题依然无法解决,只有重新了上电才能重新连接上相机。
本人猜测可能的原因:
1、资源释放后没有回收资源垃圾
2、忘记关闭采集流
3、忘记释放图像指针资源
4、释放资源后延时释放进程资源。(效果不明显)
5、心跳设置时间过长(人工修改一下)(USB口的相机好像没有预留设置心跳的接口)
6、程序初始化的时候已经进行了连接相机,导致没有释放资源,(经测试发现在代码的构造函数中连接相机会出现占用资源)