* default WinUSB timeout was 5 seconds, which may be to small.
PIPE_TRANSFER_TIMEOUT policy is now set to infinite for all EPs.
* other WinUSB policy settings were called before the endpoints
had been set. This is now fixed.
* binary snapshot users, with a version of Visual Studio < 10
don't have stdint.h available
* stdint.h is referenced in libusb.h
* ssize_t, uint8_t and uint16_t are now defined in libusb.h
when required
* while additional HID collections might be ignored,
existing code assumed that the device interface path was
always assigned, which could create a leak
* issue reported by Stephano Antonelli
* use of CloseHandle() prevented the pipe fds from being
relinquished on libusb_exit()
* leaked fds could lead to the OS running out of new fds
and LIBUSB_ERROR_NO_MEM being returned as a result
* issue reported by Stephano Antonelli
* bus number could be set to zero if devices were listed
before their hubs in the GEN pass
* init_device now detects the issue and fixes it
* further code simplification with the introduction of a
new get_ancestor_session_id call
* changed assertions that failed enum on newly connected
or disconnected, to warnings about device being ignored
* misc. additional logging message improvements
* hub driver API now allows the retrieval of descriptors
* hub API now detects if default hub driver has been overridden
* comments fixup + enum debug template
* previously opened devices were not being added to the discovered list
* provide device information on cache descriptor errors
* disconnected device is not an assertion failure
* code readability
* dev_interface_details is not available on GEN pass but
some warning messages attempt to reference that pointer
* skip device if interface path cannot be sanitized
* check the return value of init_device() and bail out on error
* advapi32 was still being used through RegQueryValueEx and
RegCloseKey
* also fixed overzealous removal of kernel32.lib, which
prevented DLL generation from WDK/DDK
* default for ddk was to use MSVCRT, which produces static
libs that cannot be used in MSVC with /MT (libcmt)
* ddk_build script now allows users to chose between /MD
and /MT compatibility
* also simplified libusb_sources and updated INSTALL_WIN.txt
* changed device enumeration to rely on session ids (hashed device ID)
* all enumeration passes now occur in a single call
* also removed the separate HCD list (allows PCI hotplug of HCDs)
* additional cleanup