Subscribe: A Hole In My Head
Preview: A Hole In My Head

A Hole In My Head

Doron Holan's musings on drivers and other nibbles and bits

Last Build Date: Wed, 15 Dec 2010 13:59:50 +0000


Developing Drivers with the Windows® Driver Foundation, i.e. the WDF book, is apparently back in print!

Wed, 15 Dec 2010 13:59:50 +0000

Yeah! The book is now back in print (see Amazon)

Developing Drivers with the Windows® Driver Foundation, i.e. the WDF book, is apparently out of print

Wed, 25 Aug 2010 22:31:56 +0000

Looks like the going price on Amazon is >$250 :(.  The good news is that you can still get the book as an e-book at O'Reilly,, or at Safari, for around $50.  Not as convenient as a hard copy IMHO, but it is better than nothing or spending $250.

Arbitration and Translation, Part 3

Thu, 06 May 2010 17:14:56 +0000

This post is the third in a series.  You can see the others here, Part 1 and Part 2. What is an Arbiter? In the NT PnP subsystem, an arbiter is an interface that a bus driver can expose which is able to intelligently assign PnP resources of a single specific type (memory, I/O ports,...

Translation and Windows

Thu, 06 May 2010 15:12:00 +0000

  Arbitration and Translation, Part 2   Building on yesterday’s post, I’m going to try to explain how Windows copes with machines with strange resource translations.  I’ll use two examples in this post, one related to I/O port resources and one related to interrupts.   Just for convenience, I’ll duplicate the diagram from my last...

Arbitration and Translation, Part 1

Wed, 05 May 2010 15:27:00 +0000

A while back Jake Oshins answered a question on NTDEV about bus arbitration and afterwards I asked him if he could write a couple of posts about it for the blog. Here is part 1.   History Lesson   In the history of computing, most machines weren’t PCs.  PCs, and the related “industry standard” server...

WDK v7.1 is now available

Sun, 28 Feb 2010 22:15:53 +0000

A refresh of the WDK is now available on connect. You can download the v7.1 WDK following the directions on WHDC.  The change list for the WDK can be found here, I copying it here as well: WDK Version 7.1.0 Changes and Issues This section contains information about the changes to the WDK for the...

What is IRQL?

Tue, 02 Feb 2010 17:05:00 +0000

Jake Oshins wanted to write about IRQLs and I am gladly letting him use my blog as a platform.  Here it is… I’ve found myself explaining IRQL a lot lately, sometimes to people who want to know because they’re trying to write Windows drivers and sometimes to people who are accustomed to Linux or some...

WDFREQUESTs are for sharing in KMDF v1.9

Thu, 05 Mar 2009 16:48:14 +0000

In my last post I described why a WDFREQUEST is unique to a particular WDFDEVICE.  There is one particular programming pattern where this is not the behavior you want.  This pattern is when you have each PDO accepting IO requests which it then forwards on to the parent WDFDEVICE for processing. One great in box...

WDFREQUESTs are not for sharing

Wed, 04 Mar 2009 19:58:00 +0000

FYI: this is a bit of a long post, but I wanted to be thorough and illustrative and give some insight into how the framework works and potential design that could have been made, but were not for the sake of simplicity and performance A common misconception a WDFREQUEST handle is the assumption that the...

Great WinHEC presentation on device interfaces compared to device clases

Tue, 03 Feb 2009 20:03:00 +0000

[This is a repeat of a post I made to NTDEV, but I wanted to make sure I reached as many people as possible.]   I just read this deck,, which was presented at WinHEC this past year.  It is by far the best explanation of device interfaces and device classes that I have...