COMException: 'Ошибка HRESULT E_FAIL после обновления до Windows 10 build 17134 - PullRequest
0 голосов
/ 02 мая 2018

В моем проекте Xamarin.Forms (в настоящее время поддерживающем только UWP) у нас есть код для конкретной платформы, который запрашивает сканер штрих-кода. Эта логика работала нормально, когда решение запускалось на моем «LocalMachine» в Windows 10 build 16299 . После обновления до Windows 10 сборка 17134 каждый раз происходит сбой со следующим исключением:

System.Runtime.InteropServices.COMException: 'Error HRESULT E_FAIL has been returned from a call to a COM component.'
Error code (0x80004005)

Это исключение взято из await EnableScanner () Строка ниже:

 private async void Initialize(object sender, RoutedEventArgs e)
    {
        // create the barcode scanner. 
        if (await CreateDefaultScannerObject())
        {
            // after successful creation, claim the scanner for exclusive use and enable it so that data reveived events are received.
            if (await ClaimScanner())
            {
                claimedScanner.ReleaseDeviceRequested += claimedScanner_ReleaseDeviceRequested;

                // after successfully claiming, attach the datareceived event handler.
                claimedScanner.DataReceived += claimedScanner_DataReceived;
                UpdateOutput(ScanningLang.DataReceivedAttached);

                claimedScanner.IsDecodeDataEnabled = true;

                if (await EnableScanner())
                    UpdateOutput(ScanningLang.ScanReady);
            }
        }
        else
        {
            UpdateOutput(ScanningLang.NoBarcodeScanner);
        }
    }

Метод EnableScanner:

 private async Task<bool> EnableScanner()
    {
        if (claimedScanner == null)
            return false;

        await claimedScanner.EnableAsync();
        UpdateOutput(ScanningLang.EnabledBarcodeSuccess);

        return true;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...