While installing an entire checked build has always been a pain, a Partial Checked Build gives you the majority of the benefit without all of the hassle. For a long while now the WDK has shipped with the checked kernel and HAL from the corresponding Windows release, which made it even easier to get your code running […]
WdfWaitLockAcquire and Code Analysis: When SAL Goes Wrong
I love Source Code Annotation Language, I really do. I’ve already blogged about how great it is in my previous post, SAL Annotations, Don’t Hate Me Because I’m Beautiful. I even spend time in our Kernel Debugging seminar discussing SAL as a way to avoid having bugs in your code in the first place. The […]
Right Click Your DML!
You all know and love DML, those hyperlinks that show up in WinDbg output and allow you to click around aimlessly while you ponder what the crash code means (“PC LOAD LETTER??”). But, did you know that DML is even better in the Windows 10 build of WinDbg? Support has been added for a game changing feature: […]
Updates to Driver Testing — Not Just for Certification
Long ago, Microsoft created the Windows Hardware Quality Labs (WHQL, pronounced “wickle”) program. The goal of this program was to certify that a particular device and its associated driver met a set of WHQL defined requirements. The requirements could include anything from how the driver was developed (e.g. which driver model it used) to whether […]
New Tools Introduced at WinHEC 2015
Across various presentations at WinHEC, several new tools have been introduced for use by Windows driver writers. There’s no real overarching theme to these tools, they touch different parts of the driver development process and don’t necessarily all target the same audience. However, they’re new and potentially useful, so I thought it worth summarizing them […]
Windows Source Code on GitHub!
[WDF Source Available: https://github.com/Microsoft/Windows-Driver-Frameworks] OK, well, maybe that title was a bit misleading. But, it’s not entirely untrue: portions of the Kernel and User Mode Driver Frameworks are going to be available on GitHub for the benefit of the driver development community. The magnitude of this announcement cannot be understated as it represents a major paradigm shift […]
SAL Annotations: Don’t Hate Me Because I’m Beautiful
OK, well, I don’t think anyone is going argue for the beauty of SAL annotations. However, just because they’re hideous to look at doesn’t mean that you shouldn’t bother with them. In fact, here at OSR one might say we’ve become obsessed with SAL annotations. We find ourselves annotating functions more and more, especially when […]
Setting the WinDbg Symbol Search Path (article + video)
When people post the output from the WinDbg !analyze -v command to our NTDEV support forum, it’s often useless. The kernel stack doesn’t make sense. And there are banners and error messages saying “the symbols are wrong.” When this happens, the next thing that occurs is often a chorus of replies saying little more than “Fix your symbols and then repost […]
A Second Chance for WPP Tracing (article + video)
As many of you already know, OSR was responsible for introducing WPP Tracing to the world outside Microsoft. When we saw how it was being used internally at Microsoft, we knew it would be valuable to the driver development community. Fortunately, the powers that be agreed! But our love affair with WPP Tracing was to […]
Setting up a 1394 Kernel Debug Connection (Video)
Setting up a kernel debug connection can be intimidating at first, but it’s actually quite straightforward once you have the steps. It’s the sort of thing that’s much easier to demonstrate than it is to explain, so here’s a video of Scott Noone walking through the process.