Pete Batard wrote:
>
> Now that I think about it, and especially as I still have some hope
> that it might be possible to pick the Windows 8.1 WinUSB driver and
> install it on Windows 7 & Windows 8.0 machines, the right way to find
> if WinUSB isoc is supported is to use |GetProcAddress()| on the WinUSB
> DLL, to see if it has a |WinUsb_ReadIsochPipe| entry.
>
> Besides, |GetProcAddress()| is already what we're using to get our
> WinUSB entrypoints in winusbx_init
> <https://github.com/libusbx/libusbx/blob/master/libusb/os/windows_usb.c#L2543>,
> so it should be pretty straightforward to check if the address of the
> calls we need is NULL in the isoc libusb functions, and return not
> supported if that's the case.
>

I'm not sure it's that easy, and I'll tell you why.

In the MSDN pages for the isochronous APIs (for example,
WinUsb_RegisterIsochBuffer), the "Minimum supported client" is shown as
Windows 8.1.  This surprised me.  With WinUSB, you install the DLL and
the driver using the WinUSB co-installer as part of the driver package
for your device.  What that means is, if I use WinUSB from the Windows 7
WDK, then whenever apps want to use my device, I know I have at least
that version of WinUSB, regardless of what operating system it is on.

If that were still true, then I could use the coinstaller from the 8.1
WDK to install this new version of WinUSB anywhere (even XP), and
automatically get isochronous support.  But in that case, they shouldn't
need the "Minumum supported client" warning.  If the isochronous support
depends on operating system bits that are only present in Windows 8.1,
that's a new and pernicious restriction.  That would mean your
GetProcAddresss() check isn't enough -- you could load the WDK on
Windows XP, have the entry point be present, and still not have
isochronous support.

I have asked for clarification on this issue from the WDK team, but
there is no response yet.

-- 
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to