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 […]
When is a WHILE Not a while?
I have a pretty good life. There are a lot of indicators of this, but one in particular is that I have the luxury of being annoyed by things like the issue that’s the topic of this blog post. I was reading some code from Microsoft the other day, and I noticed that a loop I […]
What WDK Version Am I running?
I know, you’re looking at the title of this blog post and you’re wondering: How can these people make an entire blog post out of such a simple question. Simple? I wish it were so. Read on, intrepid developer… read on. If you’re anything like me, you use multiple systems to do your work. Many […]
EvtIoInCallerContext Callback: Called Even for I/O Operations You Don’t Queue
As we were putting the finishing touches on the material for our new Advanced WDF Seminar, we got to discussing some details of how the EvtIoInCallerContext Event Processing Callback works. Our discussion centered around…
MSFT Ready To Engage Again With The Broader Driver Dev Community?
There were several comments over on NTDEV about how there was only a single driver related presentation at the just-concluded //Build conference. Frankly, I was surprised there was even one! If you haven’t seen it, you can check out well-know MSFT lead Peter Wieland’s excellent presentation here. In the presentation Peter talks about the coming Shark’s […]
WDK 8.1Update: WDK Now Supported with Visual Studio Express
Starting with Windows Driver Kit 8.1 Update, the tools necessary to build Windows drivers are once again available to the community at no cost. Yay!!!
There’s a WDFSTRING?
I admit it: I regularly find things in WDF that I had no idea existed. This either speaks to the overall richness of the API, or to my resolute dedication to doing things “the way I’ve always done them.” I’m really not sure which. Shall we vote? No, let’s not. Anyhow, I’m working on a […]
Names Are Important
Most of the engineers I work with know that I’m obsessed with names. Not names of people, mind you. Strangely, I can barely remember those, which can be pretty darn embarrassing as a consultant and instructor. No, the names I’m obsessed with are the names of software things: local variables, structure fields, and names of […]
When CAN You Call WdfIoQueuePurgeSynchronously?
We’re constantly learning the subtle details of how KMDF works. We came across an interesting detail today that caused us to scratch our heads to the point…