The USB 2.0 standard supports the disabling of individual hub ports. I am looking for an API to call from user code under Windows 8, specifically to disable hub ports, either in C# or in C++, using existing Windows user-mode drivers.
It looks like the IOCTL to disable a hub port has been deprecated in the WDF.
I've built and used DevCon - it will disable devices through the DDK, but will not disable hub ports.
WinUSB is a powerful interface, which requires specifying WinUSB.sys as your driver stack. However, I don't think its libraries, setupapi.lib and winusb.lib, provide this level of hub control.
I would really appreciate a pointer to the correct user-mode API in Windows 8, especially a C# interface. If no such API exists, that would also be very helpful to know.
-- Added 6/3: Since no information on this has turned up, we're now looking into a software-based bank-switching algorithm that disables and re-enables the devices directly. We hope to be able to build this out at an arbitrary size, but of course the technology is unproven at this point. I'll keep this thread up to date with progress.