As checked and free components can be intermixed, I’m not sure the concept
of “is this the checked build” is meaningful. It sounds like you want to
know if usbhub.sys is checked.
Another thought is perhaps it’s invalid to depend on the normal usbhub
driver to use an unusual usb controller. I know the usb 3 controller in my
current system also seems to have a custom usb hub. I could also understand
how a debugging build would want a matched set of debug/debug or free/free
usb controller/usbhub, so there could be extra debugging interfaces under
the checked drivers.
I know I like to run other vendor’s products under the checked build, before
I depend on them. I hate spending hours debugging just to find it’s a bug in
another driver.
I actually wish Microsoft would make it a WHQL system requirement that the
checked build run correctly. The full checked build doesn’t run on many
systems, although also runs perfectly on some. I’ve talked to some vendors
of systems where it doesn’t run, and there seemed to be a lot of finger
pointing about who’s fault the asserts were (like in acpi.sys). The vendors
claim their ACPI info is correct yet Windows asserts and claims it’s wrong.
Since kernel developers are not the primary customer of system vendors, it’s
hard to get them to expend engineering resources on bugs that are reported
only by kernel developers, even if these bugs may impact normal users on
occasion. If you ask me, this degrades the overall ability of the driver
community to deliver high quality drivers.
Jan
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of James Harper
Sent: Saturday, January 07, 2012 1:02 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] is it possible to detect checked build?
I’m implementing a virtual (Xen passthrough) USB Host Adapter and HUB, and
because this is completely unsupported by Microsoft the checked build
ASSERT’s very early on when it finds missing magic numbers in my BusContext
structure. The free build has no such problems .
It’s going to come up so rarely that it probably isn’t worth the effort, but
is it possible for my DriverEntry to detect that it is running on a checked
build of windows and to not load? I guess this is made a bit more difficult
in that you could have a checked kernel and/or hal and my drivers would work
fine, but you could have a free kernel and hal but a checked usbhub.sys and
get an assert…
Thanks
James
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer