libusb / hidapi

A Simple cross-platform library for communicating with HID devices
https://libusb.info/hidapi/
Other
1.6k stars 391 forks source link

Story: WinRT backend for Windows #329

Open Youw opened 3 years ago

Youw commented 3 years ago

Current Windows backend is WinAPI based. There is also an alternative - WinRT API, and it actually uses a different implementation.

More discussion about it: #282. Having an alternative backend might be useful in the future. Leaving this ticket to follow up on it if someone ever gets to finish it. ~Some attempt to move in this direction:~ ~https://github.com/LeeChunHei/hidapi~ UPD: see next comment.

A general recommentation is to have this backend implemented in C++, due to way simpler implementation, when it comes to WinRT, compared to C.

Youw commented 1 year ago

I have had a little "weekend codding" session, and tried to implement the WinRT backend implementation for HIDAPI, and here is the result: https://github.com/libusb/hidapi/compare/winrt

I'm not even sure if it worth making a PR into master as of yet, but here are some statements about the implementation:

And I wasn't able to test it intensively, keeping it in the branch for now. Just in case someone would want to play with it.

JoergAtGithub commented 1 year ago
  • it is written in pure C++/WinRT, i.e. it can be use in Windows Store applications (I believe the WinAPI HIDAPI backend uses some APIs that are not available from UWP/Windows Store environment);

The Microsoft Store is no longer restricted to UWP: https://developer.microsoft.com/en-us/microsoft-store/desktop-apps

Youw commented 1 year ago

I believe there're still restrictions on WinAPI usage (and HIDAPI/WinAPI doesn't follow them). I'll search for link with description later.

mcuee commented 1 year ago

This seems to work pretty well, tested under Windows 11 with VS2022.

Edit: this is not correct. So I deleted the output.

Youw commented 1 year ago

This seems to work pretty well, tested under Windows 11 with VS2022.

I do not believe you've actually used the winrt backend. You need to pass -DHIDAPI_WITH_WINRT=ON and run the hidtest-winrt executable.

mcuee commented 1 year ago

Here is the output for the draft WinRT backend. Other than the limitations mentioned in the first post, I can see that product string is also not correct when there is none. Now it uses the computer name.

Click for the details ``` ********************************************************************** ** Visual Studio 2022 Developer PowerShell v17.5.4 ** Copyright (c) 2022 Microsoft Corporation ********************************************************************** PS C:\Program Files\Microsoft Visual Studio\2022\Community> cd C:\work\ PS C:\work> cd .\libusb\ PS C:\work\libusb> cd .\hidapi_winrt\ PS C:\work\libusb\hidapi_winrt> cmake -B build_winrt -D HIDAPI_BUILD_HIDTEST=1 -D HIDAPI_WITH_TESTS=1 -D HIDAPI_WITH_WINRT=1 -- Building for: Ninja -- The C compiler identification is MSVC 19.35.32217.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- hidapi: v0.14.0 -- The CXX compiler identification is MSVC 19.35.32217.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building hidtest -- Configuring done -- Generating done -- Build files have been written to: C:/work/libusb/hidapi_winrt/build_winrt PS C:\work\libusb\hidapi_winrt> cmake --build build_winrt [13/13] Linking C executable hidtest\hidtest-winrt.exe PS C:\work\libusb\hidapi_winrt> .\build_winrt\hidtest\hidtest-winrt.exe hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0. Compile-time version matches runtime version of hidapi. Device Found type: 04d8 003f path: \\?\HID#VID_04D8&PID_003F#7&aebbb81&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: HID-compliant vendor-defined device Release: 2 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#VID_046D&PID_C52B&MI_00#7&34f0fd76&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_02&Col03#7&12bd7e0e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 1203 Interface: -1 Usage (page): 0x4 (0xff00) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_02&Col02#7&12bd7e0e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 1203 Interface: -1 Usage (page): 0x2 (0xff00) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_02&Col01#7&12bd7e0e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 1203 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col04#7&1119bfb4&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 1203 Interface: -1 Usage (page): 0x88 (0xffbc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#ConvertedDevice&Col01#5&32cf90e6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: deed feed path: \\?\HID#10251229#3&9d5d338&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 101 Interface: -1 Usage (page): 0xc (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col03#7&1119bfb4&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 1203 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col03#5&32cf90e6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col02#7&1119bfb4&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 1203 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col02#5&32cf90e6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#VID_046D&PID_C52B&MI_01&Col01#7&1119bfb4&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Logitech« Unifying Receiver Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: \\?\HID#SYNA7DAB&Col04#5&2f64dfea&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 501 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 06cb cd40 path: \\?\HID#SYNA7DAB&Col03#5&2f64dfea&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 501 Interface: -1 Usage (page): 0xe (0xd) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#SYNA7DAB&Col02#5&2f64dfea&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0000 0000 path: \\?\HID#SYNA7DAB&Col01#5&2f64dfea&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 8087 0a1e path: \\?\HID#INTC816#3&d2322f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: LAPTOP-913SIMUD Release: 200 Interface: -1 Usage (page): 0xd (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 045e 0916 path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f338080e09c4&Col03#9&1937f32c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Bluetooth Mobile Mouse 3600 Release: 110 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 045e 0916 path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f338080e09c4&Col02#9&1937f32c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Bluetooth Mobile Mouse 3600 Release: 110 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f338080e09c4&Col01#9&1937f32c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Bluetooth Mobile Mouse 3600 Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Unable to read manufacturer string Manufacturer String: Product String: HID-compliant vendor-defined device Unable to read serial number string Serial Number String: (0) Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 04d8 003f path: \\?\HID#VID_04D8&PID_003F#7&aebbb81&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: HID-compliant vendor-defined device Release: 2 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 0 Unable to read indexed string 1 Indexed String 1: Unable to send a feature report. Unable to get a feature report: hid_get_feature_report error: The specified report type is not present Unable to write(): hid_write error: The parameter is incorrect. Unable to write()/2: hid_write error: The parameter is incorrect. waiting... waiting... waiting... waiting... waiting... waiting... waiting... waiting... waiting... waiting... read() timeout Press any key to continue . . . ```
mcuee commented 1 year ago

Output from the normal Windows backend as a comparison.

Click for the details ``` PS C:\work\libusb\hidapi_winrt> .\build_winrt\hidtest\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0. Compile-time version matches runtime version of hidapi. Device Found type: 045e 0916 path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f338080e09c4&Col01#9&1937f32c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: f338080e09c4 Manufacturer: Microsoft Product: BluetoothMouse3600 Release: 110 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 2 Report Descriptor: (100 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x02, 0xa1, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x1a, 0x05, 0x09, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x38, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0xc0, 0xc0, Device Found type: 045e 0916 path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f338080e09c4&Col02#9&1937f32c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: f338080e09c4 Manufacturer: Microsoft Product: BluetoothMouse3600 Release: 110 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 2 Report Descriptor: (58 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x27, 0x06, 0x00, 0xff, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x02, 0x85, 0x22, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0xb1, 0x02, 0x85, 0x24, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0xb1, 0x02, 0xc0, Device Found type: 045e 0916 path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f338080e09c4&Col03#9&1937f32c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: f338080e09c4 Manufacturer: Microsoft Product: BluetoothMouse3600 Release: 110 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 2 Report Descriptor: (78 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x02, 0x85, 0x1f, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x17, 0x06, 0x00, 0xff, 0x0a, 0x0f, 0xff, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x10, 0x75, 0x02, 0x95, 0x02, 0xb1, 0x02, 0x0a, 0x04, 0xff, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x35, 0x00, 0x45, 0x00, 0xb1, 0x02, 0x75, 0x03, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\HID#INTC816#3&d2322f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Bus type: 0 Report Descriptor: (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 06cb cd40 path: \\?\HID#SYNA7DAB&Col01#5&2f64dfea&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 501 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 3 Report Descriptor: (52 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 06cb cd40 path: \\?\HID#SYNA7DAB&Col02#5&2f64dfea&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 501 Interface: -1 Usage (page): 0x5 (0xd) Bus type: 3 Report Descriptor: (610 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x03, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x08, 0x05, 0x0d, 0x09, 0x55, 0x09, 0x59, 0x15, 0x00, 0x25, 0x0f, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x04, 0x95, 0x02, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, Device Found type: 06cb cd40 path: \\?\HID#SYNA7DAB&Col03#5&2f64dfea&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 501 Interface: -1 Usage (page): 0xe (0xd) Bus type: 3 Report Descriptor: (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x04, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 06cb cd40 path: \\?\HID#SYNA7DAB&Col04#5&2f64dfea&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 501 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 3 Report Descriptor: (110 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x09, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x14, 0x91, 0x02, 0x85, 0x0a, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x14, 0x91, 0x02, 0x85, 0x0f, 0x09, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x03, 0xb1, 0x02, 0x85, 0x0e, 0x09, 0x07, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col01#7&1119bfb4&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 1 Usage (page): 0x2 (0x1) Bus type: 1 Report Descriptor: (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col02#5&32cf90e6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col02#7&1119bfb4&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 1 Usage (page): 0x1 (0xc) Bus type: 1 Report Descriptor: (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0xff, 0x02, 0x15, 0x01, 0x26, 0xff, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col03#5&32cf90e6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col03#7&1119bfb4&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 1 Usage (page): 0x80 (0x1) Bus type: 1 Report Descriptor: (31 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x00, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: deed feed path: \\?\HID#10251229#3&9d5d338&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Acer Inc Product: Acer Airplane Mode Controller Release: 101 Interface: -1 Usage (page): 0xc (0x1) Bus type: 0 Report Descriptor: (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col01#5&32cf90e6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Bus type: 0 Report Descriptor: (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_01&Col04#7&1119bfb4&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 1 Usage (page): 0x88 (0xffbc) Bus type: 1 Report Descriptor: (25 bytes) 0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x08, 0x19, 0x01, 0x29, 0xff, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_02&Col01#7&12bd7e0e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 2 Usage (page): 0x1 (0xff00) Bus type: 1 Report Descriptor: (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_02&Col02#7&12bd7e0e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 2 Usage (page): 0x2 (0xff00) Bus type: 1 Report Descriptor: (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_02&Col03#7&12bd7e0e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 2 Usage (page): 0x4 (0xff00) Bus type: 1 Report Descriptor: (68 bytes) 0x06, 0x00, 0xff, 0x09, 0x04, 0xa1, 0x01, 0x85, 0x20, 0x09, 0x41, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x0e, 0x81, 0x00, 0x85, 0x21, 0x09, 0x42, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0x81, 0x00, 0x85, 0x20, 0x09, 0x41, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x0e, 0x91, 0x00, 0x85, 0x21, 0x09, 0x42, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0x91, 0x00, 0xc0, Device Found type: 046d c52b path: \\?\HID#VID_046D&PID_C52B&MI_00#7&34f0fd76&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: Logitech Product: USB Receiver Release: 1203 Interface: 0 Usage (page): 0x6 (0x1) Bus type: 1 Report Descriptor: (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 04d8 003f path: \\?\HID#VID_04D8&PID_003F#7&aebbb81&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Microchip Technology Inc. Product: Simple HID Device Demo Release: 2 Interface: 0 Usage (page): 0x1 (0xff00) Bus type: 1 Report Descriptor: (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x19, 0x01, 0x29, 0x40, 0x15, 0x01, 0x25, 0x40, 0x75, 0x08, 0x95, 0x40, 0x81, 0x00, 0x19, 0x01, 0x29, 0x40, 0x15, 0x01, 0x25, 0x40, 0x75, 0x08, 0x95, 0x40, 0x91, 0x00, 0xc0, Manufacturer String: Microchip Technology Inc. Product String: Simple HID Device Demo Serial Number String: (0) Report Descriptor: (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x19, 0x01, 0x29, 0x40, 0x15, 0x01, 0x25, 0x40, 0x75, 0x08, 0x95, 0x40, 0x81, 0x00, 0x19, 0x01, 0x29, 0x40, 0x15, 0x01, 0x25, 0x40, 0x75, 0x08, 0x95, 0x40, 0x91, 0x00, 0xc0, Device Found type: 04d8 003f path: \\?\HID#VID_04D8&PID_003F#7&aebbb81&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Microchip Technology Inc. Product: Simple HID Device Demo Release: 2 Interface: 0 Usage (page): 0x1 (0xff00) Bus type: 1 Indexed String 1: Microchip Technology Inc. Unable to send a feature report. Unable to get a feature report: Get Input/Feature Report DeviceIoControl: (0x00000001) Incorrect function. waiting... Data read: 81 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Press any key to continue . . . ```
mcuee commented 1 year ago

Another computer using Windows 10.

click for the run log for WinRT backend ``` PS C:\work\libusb\hidapi_winrt> .\build_winrt\hidtest\hidtest-winrt.exe hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0. Compile-time version matches runtime version of hidapi. Device Found type: 0000 0000 path: \\?\HID#ConvertedDevice&Col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 413c b06f path: \\?\HID#VID_413C&PID_B06F#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Dell dock Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col06#6&2a21f7ec&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Mi Wireless Mouse Release: 625 Interface: -1 Usage (page): 0x2 (0xff02) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col04#e&39a3ff8c&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0488 121f path: \\?\HID#DELL091A&Col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 40d Interface: -1 Usage (page): 0xe (0xd) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#VID_046D&PID_C077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: USB Optical Mouse Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col05#6&2a21f7ec&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Mi Wireless Mouse Release: 625 Interface: -1 Usage (page): 0x88 (0xffbc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col04#6&2a21f7ec&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Mi Wireless Mouse Release: 625 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col03#6&2a21f7ec&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Mi Wireless Mouse Release: 625 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col02#6&2a21f7ec&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Mi Wireless Mouse Release: 625 Interface: -1 Usage (page): 0x0 (0xff01) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0488 121f path: \\?\HID#DELL091A&Col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#VID_2717&PID_5013&Col01#6&2a21f7ec&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Mi Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0000 0000 path: \\?\HID#VID_413C&PID_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: Dell USB Entry Keyboard Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0000 0000 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col06#e&39a3ff8c&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0000 0000 path: \\?\HID#VID_24AE&PID_4057&MI_00#e&5b8621&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col07#e&39a3ff8c&0&0006#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 110 Interface: -1 Usage (page): 0x1 (0xff01) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0488 121f path: \\?\HID#DELL091A&Col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 047f c056 path: \\?\HID#VID_047F&PID_C056&MI_03&Col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Plantronics Blackwire 3220 Series Release: 210 Interface: -1 Usage (page): 0x3 (0xffa0) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 047f c056 path: \\?\HID#VID_047F&PID_C056&MI_03&Col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Plantronics Blackwire 3220 Series Release: 210 Interface: -1 Usage (page): 0x5 (0xb) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 047f c056 path: \\?\HID#VID_047F&PID_C056&MI_03&Col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Plantronics Blackwire 3220 Series Release: 210 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 413c b06e path: \\?\HID#VID_413C&PID_B06E#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: Dell dock Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col03#e&39a3ff8c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 110 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#DELL091A&Col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0000 0000 path: \\?\HID#Vid_044E&Pid_1212&Col01&Col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col02#e&39a3ff8c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 110 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col01#e&39a3ff8c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 110 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 8087 0a1e path: \\?\HID#INTC816&Col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 200 Interface: -1 Usage (page): 0xd (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col05#e&39a3ff8c&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: USB Keyboard Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 0000 0000 path: \\?\HID#Vid_044E&Pid_1212&Col01&Col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path Device Found type: 8087 0a1e path: \\?\HID#INTC816&Col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 200 Interface: -1 Usage (page): 0xc (0x1) Bus type: 0 Report Descriptor: error getting: HID Report reconstruction is not implemnted for WinRT backend Device Found type: 0000 0000 path: \\?\HID#DELL091A&Col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: (null) Manufacturer: (null) Product: 1TV4433 Release: 0 Interface: -1 Usage (page): 0x0 (0x0) Bus type: 0 Report Descriptor: Unable to open device by path unable to open device ```

Normal Windows backend output.

click for the run log for normal Windows backend ``` PS C:\work\libusb\hidapi_winrt> .\build_winrt\hidtest\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0. Compile-time version matches runtime version of hidapi. Device Found type: 0488 121f path: \\?\HID#DELL091A&Col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Bus type: 3 Report Descriptor: (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\HID#INTC816&Col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Bus type: 0 Report Descriptor: (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\HID#Vid_044E&Pid_1212&Col01&Col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Bus type: 0 Report Descriptor: (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col05#e&39a3ff8c&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x6 (0x1) Bus type: 1 Report Descriptor: (25 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x05, 0x05, 0x07, 0x19, 0x30, 0x29, 0x67, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x38, 0x81, 0x02, 0xc0, Device Found type: 8087 0a1e path: \\?\HID#INTC816&Col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Bus type: 0 Report Descriptor: (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col01#e&39a3ff8c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x1 (0xc) Bus type: 1 Report Descriptor: (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x19, 0x00, 0x2a, 0x80, 0x03, 0x15, 0x00, 0x26, 0x80, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col02#e&39a3ff8c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x80 (0x1) Bus type: 1 Report Descriptor: (29 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x02, 0x19, 0x81, 0x29, 0x83, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\HID#Vid_044E&Pid_1212&Col01&Col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 0 Report Descriptor: (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\HID#DELL091A&Col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Bus type: 3 Report Descriptor: (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col03#e&39a3ff8c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x1 (0xff00) Bus type: 1 Report Descriptor: (24 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0xf1, 0x29, 0xf8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, Device Found type: 413c b06e path: \\?\HID#VID_413C&PID_B06E#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: Release: 101 Interface: 0 Usage (page): 0xda (0xffda) Bus type: 1 Report Descriptor: (50 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0, Device Found type: 047f c056 path: \\?\HID#VID_047F&PID_C056&MI_03&Col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Bus type: 1 Report Descriptor: (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Bus type: 0 Report Descriptor: (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\HID#VID_047F&PID_C056&MI_03&Col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Bus type: 1 Report Descriptor: (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Bus type: 0 Report Descriptor: (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\HID#VID_047F&PID_C056&MI_03&Col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Bus type: 1 Report Descriptor: (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\HID#DELL091A&Col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Bus type: 3 Report Descriptor: (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col07#e&39a3ff8c&0&0006#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x1 (0xff01) Bus type: 1 Report Descriptor: (36 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x91, 0x02, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_00#e&5b8621&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 0 Usage (page): 0x6 (0x1) Bus type: 1 Report Descriptor: (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col06#e&39a3ff8c&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x6 (0x1) Bus type: 1 Report Descriptor: (25 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x06, 0x05, 0x07, 0x19, 0x68, 0x29, 0x9f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x38, 0x81, 0x02, 0xc0, Device Found type: 413c 2107 path: \\?\HID#VID_413C&PID_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: DELL Product: Dell USB Entry Keyboard Release: 178 Interface: 0 Usage (page): 0x6 (0x1) Bus type: 1 Report Descriptor: (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col01#6&2a21f7ec&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: MI Product: Mi Wireless Mouse Release: 625 Interface: 0 Usage (page): 0x2 (0x1) Bus type: 1 Report Descriptor: (91 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0x09, 0x00, 0xa1, 0x00, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0x09, 0x00, 0xa1, 0x00, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\HID#DELL091A&Col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Bus type: 3 Report Descriptor: (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col02#6&2a21f7ec&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: MI Product: Mi Wireless Mouse Release: 625 Interface: 0 Usage (page): 0x0 (0xff01) Bus type: 1 Report Descriptor: (23 bytes) 0x06, 0x01, 0xff, 0x09, 0x00, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0xc0, Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col03#6&2a21f7ec&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: MI Product: Mi Wireless Mouse Release: 625 Interface: 0 Usage (page): 0x1 (0xc) Bus type: 1 Report Descriptor: (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x05, 0x19, 0x00, 0x2a, 0x3c, 0x02, 0x15, 0x00, 0x26, 0x3c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col04#6&2a21f7ec&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: MI Product: Mi Wireless Mouse Release: 625 Interface: 0 Usage (page): 0x80 (0x1) Bus type: 1 Report Descriptor: (29 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x81, 0x29, 0x83, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col05#6&2a21f7ec&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: MI Product: Mi Wireless Mouse Release: 625 Interface: 0 Usage (page): 0x88 (0xffbc) Bus type: 1 Report Descriptor: (25 bytes) 0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x04, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 046d c077 path: \\?\HID#VID_046D&PID_C077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Optical Mouse Release: 7200 Interface: 0 Usage (page): 0x2 (0x1) Bus type: 1 Report Descriptor: (46 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\HID#DELL091A&Col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Bus type: 3 Report Descriptor: (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 24ae 4057 path: \\?\HID#VID_24AE&PID_4057&MI_01&Col04#e&39a3ff8c&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: SEMICO Product: USB Keyboard Release: 110 Interface: 1 Usage (page): 0x6 (0x1) Bus type: 1 Report Descriptor: (39 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x04, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x00, 0x19, 0x00, 0x29, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x30, 0x81, 0x02, 0xc0, Device Found type: 2717 5013 path: \\?\HID#VID_2717&PID_5013&Col06#6&2a21f7ec&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: MI Product: Mi Wireless Mouse Release: 625 Interface: 0 Usage (page): 0x2 (0xff02) Bus type: 1 Report Descriptor: (23 bytes) 0x06, 0x02, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x06, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 413c b06f path: \\?\HID#VID_413C&PID_B06F#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: Release: 101 Interface: 0 Usage (page): 0xda (0xffda) Bus type: 1 Report Descriptor: (50 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\HID#ConvertedDevice&Col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Bus type: 0 Report Descriptor: (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, unable to open device ```
Youw commented 1 year ago

Looks about right - consistent with my testing. All of what is missing - are the limitation of the WinRT API for HID devices.