为什么USB端口的“设备位置”值会发生变化?
我使用USBClassLibrary
:
static List<string> UsbValues(string vid, string pid) {
var ListOfUSBDeviceProperties = new List<USBClass.DeviceProperties>();
var USBPort = new USBClass();
var list = new List<string>();
if(USBClass.GetUSBDevice(uint.Parse(vid, System.Globalization.NumberStyles.AllowHexSpecifier), uint.Parse(pid, System.Globalization.NumberStyles.AllowHexSpecifier), ref ListOfUSBDeviceProperties, false, null)) {
for (int i = 0; i < ListOfUSBDeviceProperties.Count; i++) {
list.Add(ListOfUSBDeviceProperties[i].DeviceLocation);
}
}
return list;
}
返回:Port_#0002.Hub_#0009,但此值可能会突然变为另一个,例如Port_#0001.Hub_#0010。
为什么会这样?也许还有另一种绑定物理设备的方法吗?