windows: Fix libusb_get_device_list failure if virual usb host installled
authorFrank Li <Frank.Li@nxp.com>
Tue, 13 Aug 2019 18:17:00 +0000 (13:17 -0500)
committerNathan Hjelm <hjelmn@google.com>
Wed, 14 Aug 2019 21:09:04 +0000 (14:09 -0700)
commitfd95d445dddc14892fa46538855c5e358efa48da
treea64ef43637490c51784657f9cc9aab45b4f77358
parentdd7df2b75118c920cb21b4442983168e8b2f14ac
windows: Fix libusb_get_device_list failure if virual usb host installled

If a virtual usb host driver install, but no port on that.
libusb_get_device_list will return failure.

but it should skip this host devices.

the below is virtual host control information

============USB Host Controller =======================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : Leostream Corporation Virtual USB
Host Controller
Device Path              :
\\?\root#system#0004#{3abf6f2d-71c4-462a-8a92-1e6861e6af27}
Device ID                : ROOT\SYSTEM\0004
Hardware IDs             : *lsusbdhcDevice
Driver KeyName           :
{4d36e97d-e325-11ce-bfc1-08002be10318}\0049
(GUID_DEVCLASS_SYSTEM)
Driver                   :
\SystemRoot\System32\drivers\lsusbdbus.sys (Version: 6.3.2.2570
Date: 2018-11-12)
Driver Inf               : C:\WINDOWS\inf\oem25.inf
Legacy BusType           : Internal
Class                    : System
Class GUID               :
{4d36e97d-e325-11ce-bfc1-08002be10318} (GUID_DEVCLASS_SYSTEM)
Interface GUID           :
{3abf6f2d-71c4-462a-8a92-1e6861e6af27}
(GUID_DEVINTERFACE_USB_HOST_CONTROLLER)
Service                  : lsusbdbus
Enumerator               : ROOT
Location Info            : -
Manufacturer Info        : Leostream Corporation
Capabilities             : 0x00 (-)
Status                   : 0x0180200B (DN_ROOT_ENUMERATED,
DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_NT_ENUMERATOR,
DN_NT_DRIVER)
Problem Code             : 0
Power State              : D0 (supported: D0, D3)

HcInfo0 Error            : ERROR_INVALID_FUNCTION

Roothub Symbolic Link    : LSUSBDBUS

BusStatistics Error      : ERROR_INVALID_FUNCTION

DriverVersion Error      : ERROR_INVALID_FUNCTION

BandwidthInfo Error      : ERROR_INVALID_FUNCTION

PowerInfo Error          : ERROR_INVALID_FUNCTION

Closes #608

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Nathan Hjelm <hjelmn@google.com>
libusb/os/windows_winusb.c
libusb/version_nano.h