Sign in
A Hole In My Head
Doron Holan's musings on drivers and other nibbles and bits
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
About
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Tags
Coding Thoughts
Design Patterns
KMDF
WDF
WDK Docs
WDM
WinDBG/KD Fun
Archive
Archives
December 2010
(1)
August 2010
(1)
May 2010
(3)
February 2010
(2)
March 2009
(2)
February 2009
(1)
January 2009
(2)
June 2008
(1)
April 2008
(4)
March 2008
(6)
December 2007
(1)
November 2007
(2)
October 2007
(8)
July 2007
(2)
June 2007
(4)
May 2007
(3)
April 2007
(5)
March 2007
(6)
February 2007
(6)
January 2007
(7)
December 2006
(6)
November 2006
(11)
October 2006
(9)
September 2006
(8)
August 2006
(17)
July 2006
(15)
June 2006
(9)
May 2006
(16)
March 2006
(20)
February 2006
(17)
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
A Hole In My Head
Developing Drivers with the Windows® Driver Foundation, i.e. the WDF book, is apparently back in print!
Posted
over 3 years ago
by
Doron Holan [MSFT]
1
Comments
Yeah! The book is now back in print (see Amazon )
A Hole In My Head
Developing Drivers with the Windows® Driver Foundation, i.e. the WDF book, is apparently out of print
Posted
over 3 years ago
by
Doron Holan [MSFT]
2
Comments
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, http://oreilly.com/catalog/9780735623743/ , or at Safari, for around $50. Not as convenient as a hard copy IMHO, but it is...
A Hole In My Head
Arbitration and Translation, Part 3
Posted
over 3 years ago
by
Doron Holan [MSFT]
1
Comments
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...
A Hole In My Head
Translation and Windows
Posted
over 3 years ago
by
Doron Holan [MSFT]
0
Comments
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...
A Hole In My Head
Arbitration and Translation, Part 1
Posted
over 3 years ago
by
Doron Holan [MSFT]
1
Comments
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...
A Hole In My Head
WDK v7.1 is now available
Posted
over 3 years ago
by
Doron Holan [MSFT]
0
Comments
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...
A Hole In My Head
What is IRQL?
Posted
over 3 years ago
by
Doron Holan [MSFT]
15
Comments
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...
A Hole In My Head
WDFREQUESTs are for sharing in KMDF v1.9
Posted
over 4 years ago
by
Doron Holan [MSFT]
2
Comments
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...
A Hole In My Head
WDFREQUESTs are not for sharing
Posted
over 4 years ago
by
Doron Holan [MSFT]
1
Comments
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 Hole In My Head
Great WinHEC presentation on device interfaces compared to device clases
Posted
over 4 years ago
by
Doron Holan [MSFT]
1
Comments
[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, http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/CON-T615_WH08.pptx , which was...
A Hole In My Head
MSDN link on how to set up a user or kernel debugger
Posted
over 4 years ago
by
Doron Holan [MSFT]
0
Comments
This has got to be one of the top FAQs out there: how do I set up a kernel debugger? I just stumbled across a link on MSDN which gives instructions not only on how to set up a kernel debugger on all transports (serial, 1394, usb2), but also how to set...
A Hole In My Head
Dude, what happened to Doron?
Posted
over 4 years ago
by
Doron Holan [MSFT]
2
Comments
So, I have not written anything in over 6 months and yet I have posted on NTDEV and public newsgroups. What gives? Well, the short answer is that I have been short on time these past few months. I have had only enough extra curricular time to read NTDEV...
A Hole In My Head
How do I cancel an IRP that another thread may be completing at the same time?
Posted
over 5 years ago
by
Doron Holan [MSFT]
1
Comments
Let's say that you allocated a PIRP and sent it down your device stack. You free the PIRP in the completion routine and then return STATUS_MORE_PROCESSING_REQUIRED. To make life more fun, you decide that you want to be able to cancel the sent IRP after...
A Hole In My Head
What should you change in a sample before you ship it?
Posted
over 5 years ago
by
Doron Holan [MSFT]
0
Comments
I was going to write about how to do this, but the awesome folks at WHDC got to it before I did. I did get to review it before it was published, so I did have some influence in what is in the tip ;). So on this one my job is easy, just go read the...
A Hole In My Head
The WDF 1.7 cointstallers are now available
Posted
over 5 years ago
by
Doron Holan [MSFT]
2
Comments
After a long wait (thank you for your patience!), the WDF 1.7 coinstallers are now up on the connect site. To get the bits go to http://connect.microsoft.com Log in using your passport account Navigate to the WDF page (I don't know where it...
A Hole In My Head
Debugger commands (.step_filter) that make my life easier
Posted
over 5 years ago
by
Doron Holan [MSFT]
0
Comments
This is a pretty cool and somewhat obscure debugger command. It allows you to tell the debugger what functions to skip if you are using the trace command ('t'). I think of the trace command as the 'step into' command though, but that is just...
A Hole In My Head
EvtDevicePreprocessWdmIrp is not entirely free
Posted
over 5 years ago
by
Doron Holan [MSFT]
0
Comments
One of the WDM escapes in KMDF is EvtDeviceWdmIrpPreprocess (or EvtDevicePreprocessWdmIrp in the API in which you register it) which you can register for by calling WdfDeviceInitAssignWdmIrpPreprocessCallback . This function allows you to process...
A Hole In My Head
Using KeAcquireSpinLockAtDpcLevel is only a perf gain if you know you are DISPATCH_LEVEL
Posted
over 5 years ago
by
Doron Holan [MSFT]
1
Comments
Well, that is certainly a long title ;). First, let us look at an approximate implementation of KeAcquireSpinLock and KeRaiseIrql (and yes I know that KeRaiseIrql is really a #define to KfRaiseIrql, but it is the same thing that happens in the end...
A Hole In My Head
Inconceivableable
Posted
over 5 years ago
by
Doron Holan [MSFT]
1
Comments
I have no idea who created the name for PNP_DEVICE_NOT_DISABLEABLE, but I probably have the same reaction as you ... "seriously? that is what they named?" I mean come on, I think it could have at least been named PNP_DEVICE_CANNOT_BE_DISABLED. I am sure...
A Hole In My Head
Once not disableable, forever not disableable
Posted
over 5 years ago
by
Doron Holan [MSFT]
1
Comments
One interesting quirk about the PNP_DEVICE_NOT_DISABLEABLE state is that once it has been set and the PnP manager has processed it, the state is sticky. By sticky I mean that even if you attempt to clear this bit on a subsequent IRP_MN_QUERY_PNP_DEVICE_STATE...
A Hole In My Head
Returning failure from DriverEntry
Posted
over 5 years ago
by
Doron Holan [MSFT]
0
Comments
One thing that is easily overlooked about implementing DriverEntry is that upon return !NT_SUCCESS, DriverUnload is not called. I mentioned this anecdotally in a previous post , but it is worth expanding on. I was bit by this oversight when I was working...
A Hole In My Head
one of the books that started it all...
Posted
over 5 years ago
by
Doron Holan [MSFT]
1
Comments
During my sophomore year at Cal Poly , I decided that I wanted to learn about threads, synchronization techniques and other topics associated modern operating systems. Windows 95 had made its debut (yes, it is not a modern OS, but I didn't know that at...
A Hole In My Head
Getting 64 bit Vista to open my Inbox the way I want it to
Posted
over 5 years ago
by
Doron Holan [MSFT]
1
Comments
A bit over a year ago I had to figure out why my Mail key started behaving differently on Vista vs XP and wrote about how I fixed it. Well, my dev box was so slow that I was able to employ enough sympathy that I got a new one. While my old...
A Hole In My Head
A must have book for any Windows developer
Posted
over 6 years ago
by
Doron Holan [MSFT]
4
Comments
I saw a book, Advanced Windows Debugging , in the Microsoft company store and quickly read through it. It looked pretty awesome in the level of detail and breadth that it covered. I ordered my own copy and I think it would be an invaluable resource for...
A Hole In My Head
Device installation on Vista failing when it used to work?
Posted
over 6 years ago
by
Doron Holan [MSFT]
8
Comments
There is a hotfix for setupapi.dll, read the KB article http://support.microsoft.com/kb/937187 and see if it applies to your machine
Page 1 of 8 (195 items)
1
2
3
4
5
»