Mark Roddy wrote:
Interesting, however building for XP and running downlevel is
completely unsupported and if it works you are just lucky.
If you look into the 6001 Documentation, namely the “WDK Samples Index”,
under “Buses”, you’ll find that BulkUSB is supported for Win2000 up to
Vista (which is true), and that it also builds from Win2000 (which is
wrong).
It also states that it is not a PnP driver. (Funny, but it explains why
the PnP code looks a bit “tacked-on”.)
In fact the document “Installing or Updating the BulkUsb Driver” (linked
from the same WDK Samples Index) even states how to install it on Win98
(where it will definitely *not* run in its current form).
This also leaves unanswered the questions of why these drivers don’t
build for w2k
No secret here. Look in the makefile: the sample does only build if
“$(_NT_TARGET_VERSION)>=0x501”. And that’s WinXP.
So somebody deliberately put it here.
My guess as to the “why” is that some PowerManagement structures are
only defined on WinXP – there is no harm if they are compiled in the
driver file, because it is ensured that on W2K the code that uses them
will never be executed.
(See bulkusb.c and bulkpnp.c, look for deviceExtension->WdmVersion.)
Neverthelsee, IMHO in the BulkUSB makefile there should be some more
descriptive text.
and why there is simply no clue in the build output as to what went
wrong.
My guesses are: Overworked people, and/or people who don’t care, because
they are busy cranking out the next CD/DVD and/or the next new “sexy”,
hot technology.
(BTW, anybody else noticed that the “WDK_WS08RTM_DVD.iso” actually burns
comfortably on a CD? Nice!)
WDK 6000 has the same issue. If there is some secret incantation that
says ‘don’t build for w2k’ I’d like to know what that is.
See above. Took me half a day to find out what went wrong at the time,
that’s why I remember so vividly.