[Last updated 24 October 2016, 11:00 Eastern time — Fix broken link]
I wanted to update you on the status of a few issues in the world of the Windows Driver Kit, and also let you know about new options for early access to new versions of the WDK.
Side-By-Side: Working Again
You may recall that RS1, Windows Anniversary Edition, Version 1607, Build 14393, version of the WDK installed “properly” side-by-side with the older TH2 build 10586 version of the WDK. However, using the down-level version in VS 2015 (by setting the target platform version to the older tools) didn’t actually work. This was due to an incompatibility in the build\WindowsDriver.Common.targets file. We described this problem in the OSR Developer’s Blog back in August.
The good news on this front is that Kits Team has issued a fix that allows proper side-by-side support. We’ve tested that fix, and it does indeed work. Yay Kits Team! You can find the fix described in the Hardware Dev Center here.
CA for POOL_NX_OPTIN: Still Broken
Another “feature” of the 14393 WDK was that Code Analysis (CA) demands that you use executable pool types for your allocations. Which is definitely a good thing. Unfortunately, WDK 14393 also generates an error if you attempt to use POOL_NX_OPTIN to ensure your driver works in down-level platforms. Again, we wrote about this in the Dev Blog very shortly after the release of the WDK.
The problem has been reported to our friends at Microsoft… but due to schedule issues (folks on vacation and whatever) we haven’t managed to get any traction on getting this annoyance fixed. In the meantime, we’re just disabling the warning each time we call ExAllocatePool — Which is annoying, to be sure, but it works.
Early Access to the WDK for All
Finally, I wanted to tell you about a VERY interesting development: Early releases of the WDK will now be available via the Windows Insider Program. For years you’ve been able to access preview releases of Windows via the Windows Insider Program. But if you needed a WDK that was paired with these early Windows releases (for example, to create a driver that used some new Windows features), the pre-release WDK wasn’t readily available.
Previously, you needed to be a (sponsored) member of the Microsoft Early Ecosystem Awareness Program to get periodic early releases of the WDK. Becoming a member of this program was either easy (if you were a big OEM or IHV) or almost impossible (if you were a small IHV or ISV), depending on how well you’re wired-into Microsoft’s infrastructure.
Now, you don’t have to “know somebody” to get early access to the WDK. Membership in the Windows Insider Program is your ticket not only to access to preview releases of Windows, but also to preview releases of the WDK.
To access the preview WDK, just go to the Windows Insider Program homepage, sign in, and then go to the page https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewWDK — From there you’ll be able to download preview versions of the SDK and WDK. Note that — when we wrote this — there were some old, sort of confusing, pages kicking around the Windows Hardware Development site that talked about Windows Insider WDK access but pointed to the currently released kit. Because of that, we’ve included the specific link that you’ll need to access the preview WDK.
You can also download preview versions of the ADK and HLK as well, if those are useful to you.
Progress…
It’s always nice to see progress from our friends in Redmond. Count on us to keep you updated with the latest happenings!