public void ReleaseScanner()
 {
     if (_claimedBarcodeScanner != null)
     {
         _claimedBarcodeScanner.DataReceived           -= _claimedBarcodeScanner_DataReceived;
         _claimedBarcodeScanner.ReleaseDeviceRequested -= _claimedBarcodeScanner_ReleaseDeviceRequested;
         _claimedBarcodeScanner.Dispose();
         _claimedBarcodeScanner = null;
     }
     _barcodeScanner = null;
 }
 public void ReleaseScanner()
 {
     if (_claimedBarcodeScanner != null)
     {
         // Detach the event handlers
         _claimedBarcodeScanner.DataReceived           -= _claimedBarcodeScanner_DataReceived;
         _claimedBarcodeScanner.ReleaseDeviceRequested -= _claimedBarcodeScanner_ReleaseDeviceRequested;
         // Release the Barcode Scanner and set to null
         _claimedBarcodeScanner.Dispose();
         _claimedBarcodeScanner = null;
     }
     _barcodeScanner = null;
 }
        /// <summary>
        /// Create a barcodescanner object
        /// </summary>
        /// <returns>true if system has a barcodescanner</returns>
        public async Task <bool> CreateScanner()
        {
            _barcodeScanner = await Windows.Devices.PointOfService.BarcodeScanner.GetDefaultAsync();

            if (_barcodeScanner == null)
            {
                DeviceInformationCollection col = await DeviceInformation.FindAllAsync(Windows.Devices.PointOfService.BarcodeScanner.GetDeviceSelector());

                if (col.Count > 0)
                {
                    _barcodeScanner = await Windows.Devices.PointOfService.BarcodeScanner.FromIdAsync(col[0].Id);
                }
            }

            return(_barcodeScanner != null);
        }