Мне нужно получить информацию об idProduct и idVendor подключенного устройства HID на моем компьютере с Windows. Как получить USB_DEVICE_DESCRIPTOR для данного устройства HID?
Я искал в Интернете, но я нашел только примеры устройств, которые запрашивали с помощью библиотеки WinUSB и получали USB_DEVICE_DESCRIPTOR. Насколько я понимаю, я не могу использовать WinUSB для подключенного устройства HID.
Что мне нужно использовать для устройства HID?
Если вы используете HidLibrary, Вы можете получить устройство, как это:
_device = HidDevices.Enumerate(VendorId, ProductId, UsagePage).FirstOrDefault();
if (_device != null) {
_device.OpenDevice();
string product = GetProductString(_device);
string mfg = GetManufacturerString(_device);
}
С последними двумя функциями, определенными так:
private string GetProductString(HidDevice d) {
byte[] bs;
_device.ReadProduct(out bs);
string ps = "";
foreach (byte b in bs) {
if (b > 0)
ps += ((char)b).ToString();
}
return ps;
}
private string GetManufacturerString(HidDevice d) {
byte[] bs;
_device.ReadManufacturer(out bs);
string ps = "";
foreach (byte b in bs) {
if (b > 0)
ps += ((char)b).ToString();
}
return ps;
}
Других решений пока нет …