I have two USB receivers for bar-code scanners connected to a raspberry pi3 (Windows IOT Core).
I can connect to them and list the USB Virtual COM devices and connect to them and receive data. But I can't differentiate between the two, the IDs are identical and the system is not providing Port numbers.
When I call Current.portnumber.ToString() the string is empty.
I am hoping to assign each device to a person and have them scan a bar-code for their username and would like to display which scanner is associated with which person (Such as Com5 = Bill Com6 = Dave) but just can't find a unique identifier for each virtual com
private async void ListAvailablePorts()
{
try
{
string aqs = SerialDevice.GetDeviceSelector();
var infos = await DeviceInformation.FindAllAsync(aqs);
foreach (var info in infos)
{
var serialDevice = await SerialDevice.FromIdAsync(info.Id);
DeviceInformation Current = info as DeviceInformation;
if (serialDevice != null && Current.Name == "USB Virtual COM")
{
listOfDevices.Add(Current);
ComList.Items.Add(Current.Name.ToString());
}
}
DeviceList.ItemsSource = listOfDevices;
ComList.SelectedIndex = -1;
DeviceList.SelectedIndex = -1;
}
catch (Exception ex)
{
txtUser.Text = ex.Message;
}
}
After additional scrutiny I found that the ID fields are different on a single digit within an 86 character string.
\\?\USB#VID_0416&PID_5011#5&3753427a&0&5#{86e0d1e0-8089-11d0-9ce4-08003e301f73}
VS
\\?\USB#VID_0416&PID_5011#5&3753427a&0&2#{86e0d1e0-8089-11d0-9ce4-08003e301f73}
Thanks