If WinUsb_QueryDeviceInformation returns 1 AND any of these is true, the device is full speed:
The device has a bulk or isochronous endpoint.
wMaxPacketSize for the control endpoint = 16, 32, or 64.
The device has > 2 endpoint addresses in addition to the control endpoint.
The device has an interrupt endpoint with bInterval < 10 or max packet size > 8.
If none are true, the device may be low or full speed.
***
If WinUsb_QueryDeviceInformation returns 3 AND this is true, the device is high speed:
wMaxPacketSize for the control endpoint = 64.
Otherwise the device is operating at SuperSpeed or SuperSpeedPlus.