我正在使用WIA连接到扫描仪。我枚举设备信息,然后尝试连接到设备。我一直得到例外。
HRESULT的异常:0x80210006
我在WPF窗口后面的代码中调用代码。
DeviceManager manager = new DeviceManagerClass();
DeviceInfo device = null;
foreach (DeviceInfo deviceInfo in manager.DeviceInfos)
{
var ID = deviceInfo.DeviceID;
var props = deviceInfo.Properties ;
foreach (Property property in props)
{
var name = property.Name;
var descr = property.get_Value() as string;
}
var type = deviceInfo.Type;
if (type == WiaDeviceType.ScannerDeviceType)
device = deviceInfo;
}
if (device != null)
device.Connect();
我无法弄清楚为什么会这样。任何帮助将不胜感激。
答案 0 :(得分:2)
HRESULT: 0x80210006
是WIA_ERROR_BUSY
。
WIA_ERROR_BUSY The WIA device is busy.
根据Communicating with a WIA Device in Multiple Threads or Applications,看起来其他东西可能正在访问该设备:
如果线程当前锁定了设备(它正在与该设备进行通信),而另一个线程尝试调用与设备主动通信的方法,则该方法会返回
WIA_ERROR_BUSY
错误。