我正在使用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();


我不知道为什么会这样。任何帮助,将不胜感激。

最佳答案

HRESULT: 0x80210006WIA_ERROR_BUSY

WIA API Error Codes page

WIA_ERROR_BUSY        The WIA device is busy.


根据Communicating with a WIA Device in Multiple Threads or Applications的说法,似乎有其他东西正在访问该设备:


  如果一个线程当前锁定了一个设备(正在与该设备进行主动通信),而另一个线程尝试调用与该设备进行主动通信的方法,则该方法将返回WIA_ERROR_BUSY错误。

10-07 23:08