The week the Meltdown and Spectre vulnerabilities was one of the most fun weeks I’ve had in a while. Not only were the vulnerabilities mind-bendingly clever, that week had just about everything you could possibly want in a story: mystery, intrigue, heroes, villains, and probably the greatest patch ever submitted. After consuming as much information […]
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 […]
Binary Literals in VS2015 — I Can’t Wait!
There are a couple of feature of C/C++ in Visual Studio 2015 that are easy to overlook, but that I’m really looking forward to using. Two of those features that I’m most eagerly anticipating are support for binary literals and digit separators. Together, these promise to make life easier for Windows driver developers.
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 […]
Connected standby: It’s Not Just for SOCs Anymore
Why should Windows driver writers care about Connected Standby, and what do they need to know about it? That’s what we’ll tell you in this blog post. What’s happens when you turn your cell phone off? The screen goes blank, but you can still receive email, text messages, and even notices from specific applications that […]
Overlooked Features: Device Name Spaces (article + video)
Device Name Spaces are an often overlooked, but potentially useful, feature in Windows device driver design and development. This article (with accompanying video) describes how Device Name Spaces can be useful and how to implement them when you write a WDF driver.
UMDF V2: A Good or Bad Thing? (article + video)
With its unique C++ syntax and its “charming” COM programming pattern, UMDF has largely been ignored by the Windows driver development community. But the arrival of UMDF V2 could change all that. With a C Language interface that shares the same syntax as KMDF, UMDF V2 promises to be a useful option for developers. But […]
Surprising Side-Effects of Sync Scope with Timers and Work Items
Every time I teach a class — every single time — I learn something. Sometimes I learn that I’m not nearly as patient as I wish I was. But two weeks ago, Jon, who was in a group of interesting and capable driver developers I had the pleasure of working with, brought to my attention […]
Using WDF Queues with Manual Dispatch Type (Video)
There’s an old saying that if you ask two developers a question you’ll get three answers. We decided to test that theory by posing a simple challenge: explain WDF Queues with Manual dispatch type. Check out Peter Viscarola’s response here: And then see what Scott Noone had to say: