A Hole In My Head
Doron Holan's musings on drivers and other nibbles and bits
Developing Drivers with the Windows® Driver Foundation, i.e. the WDF book, is apparently back in print!
Yeah! The book is now back in print (see Amazon)
Date: 12/15/2010
Developing Drivers with the Windows® Driver Foundation, i.e. the WDF book, is apparently out of print
Looks like the going price on Amazon is >$250 :(. The good news is that you can still get the...
Date: 08/25/2010
This post is the third in a series. You can see the others here, Part 1 and Part 2. What is an...
Date: 05/06/2010
A while back Jake Oshins answered a question on NTDEV about bus arbitration and afterwards I asked...
Date: 05/05/2010
A refresh of the WDK is now available on connect. You can download the v7.1 WDK following the...
Date: 02/28/2010
Jake Oshins wanted to write about IRQLs and I am gladly letting him use my blog as a platform. Here...
Date: 02/02/2010
In my last post I described why a WDFREQUEST is unique to a particular WDFDEVICE. There is one...
Date: 03/05/2009
FYI: this is a bit of a long post, but I wanted to be thorough and illustrative and give some...
Date: 03/04/2009
[This is a repeat of a post I made to NTDEV, but I wanted to make sure I reached as many people as...
Date: 02/03/2009
This has got to be one of the top FAQs out there: how do I set up a kernel debugger? I just stumbled...
Date: 01/29/2009
So, I have not written anything in over 6 months and yet I have posted on NTDEV and public...
Date: 01/27/2009
Let's say that you allocated a PIRP and sent it down your device stack. You free the PIRP in the...
Date: 06/30/2008
I was going to write about how to do this, but the awesome folks at WHDC got to it before I...
Date: 04/23/2008
After a long wait (thank you for your patience!), the WDF 1.7 coinstallers are now up on the connect...
Date: 04/17/2008
This is a pretty cool and somewhat obscure debugger command. It allows you to tell the...
Date: 04/16/2008
One of the WDM escapes in KMDF is EvtDeviceWdmIrpPreprocess (or EvtDevicePreprocessWdmIrp in the API...
Date: 04/02/2008
Well, that is certainly a long title ;). First, let us look at an approximate implementation of...
Date: 03/28/2008
I have no idea who created the name for PNP_DEVICE_NOT_DISABLEABLE, but I probably have the same...
Date: 03/18/2008
One interesting quirk about the PNP_DEVICE_NOT_DISABLEABLE state is that once it has been set and...
Date: 03/18/2008
One thing that is easily overlooked about implementing DriverEntry is that upon return !NT_SUCCESS,...
Date: 03/17/2008
During my sophomore year at Cal Poly, I decided that I wanted to learn about threads,...
Date: 03/12/2008
A bit over a year ago I had to figure out why my Mail key started behaving differently on Vista vs...
Date: 03/11/2008
I saw a book, Advanced Windows Debugging, in the Microsoft company store and quickly read through...
Date: 12/19/2007
There is a hotfix for setupapi.dll, read the KB article https://support.microsoft.com/kb/937187 and...
Date: 11/21/2007
First, I have to say that I don't agree with this design pattern at all. I think it leads to too...
Date: 10/24/2007
When you initially create a PDO, it takes a few steps for PnP to recognize it. I wrote this problem...
Date: 10/22/2007
Setting the security descriptor allows you to control who can open a handle to the device object....
Date: 10/16/2007
Fast resume, which was introduced in Windows XP, is often mentioned when implementing power support...
Date: 10/15/2007
After having the IO manager developer review my last 2 posts, he pointed out to me that the IO...
Date: 10/05/2007
Last time I wrote about how the IO manager handles the creation of file handles and pointed out a...
Date: 10/04/2007
Ever wonder how the creation of a handle works? It doesn't matter type of resource the handle you...
Date: 10/03/2007
Previously I wrote about what happens when there are 2 devices in a stack with a name and all of the...
Date: 07/12/2007
If you look at the KMDF headers, you will see two names, pipes and endpoints, that refer to the same...
Date: 07/10/2007
I figured that I had a good deal of empathy for a developer who had to write a driver. I have spent...
Date: 06/25/2007
Here at Microsoft, we have a central fax number and a fax "secretary" which routes the fixes as TIF...
Date: 06/11/2007
Sorry about being silent for so long. Things got quite busy with a new project and I kept on...
Date: 06/11/2007
You can find some WinHEC related videos here, including one with Mark Russinovich.
Date: 05/25/2007
Spending all day listening to security related talked at BlueHat. Mark Russinovich gave the...
Date: 05/10/2007
As I wrote about previously, naming your FDO has some side effects that you may not want to incur....
Date: 05/03/2007
Every physical device object (PDO) must have a name. Furthermore, if you read the entire MSDN page,...
Date: 04/18/2007
For those of you who are trying to find the WDK download link on WHDC, it is not longer there. It...
Date: 04/11/2007
Michael Howard has a great posting on improvements made in the compiler with respect to the /GS flag...
Date: 04/10/2007
It sounds obvious, but sometimes it needs to be stated. For instance, let's say that you are...
Date: 04/06/2007
Over the past 3 years or so, I have been casually referring to KMDF as the ultimate driver compat...
Date: 03/26/2007
I posted about !poaction and !poreqlist about a year ago. I tend to use these extensions whenever I...
Date: 03/23/2007