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
\Device\QuestionsForMe
Posted
over 7 years ago
by
Doron Holan [MSFT]
388
Comments
I have been getting quite a few personal emails with specific questions on how to write a driver or how to a specific technology works or how to fix a particular problem. I welcome the emails, but I want these discussions to be public so that they are...
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
The override keyword can be used in C++ afterall (redux on refactoring virtual functions)
Posted
over 7 years ago
by
Doron Holan [MSFT]
4
Comments
Yesterday I wrote about the two methods I use to refactor a virtual function and make sure that I find all of the derived implementations. In the entry I lamented that I would like to have the C# keyword override implemented in C++. Well, apparently it...
A Hole In My Head
Where did my debug output go in Vista?
Posted
over 7 years ago
by
Doron Holan [MSFT]
5
Comments
If you are using DbgPrint for your debug output in Vista you may have noticed that you cannot see anything in the debugger. That is because DbgPrint now defaults to the DEFAULT debug component (you can read about the change here ) and the default settings...
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
OT: Viewing a multi page TIF in Vista
Posted
over 6 years ago
by
Doron Holan [MSFT]
4
Comments
Here at Microsoft, we have a central fax number and a fax "secretary" which routes the fixes as TIF files as email to the appropriate recipient. The TIF format allows for multiple pages embedded in one file so each faxed page is a different embedded page...
A Hole In My Head
Why am I not seeing any new device notifications when calling RegisterDeviceNotification?
Posted
over 7 years ago
by
Doron Holan [MSFT]
3
Comments
Let's define this simple worker function which registers for device interface arrival notifications for a given handle (either an HWND or service HANDLE): HDEVNOTIFY RegisterInterfaceNotificationWorker( HANDLE Recipient, LPCGUID Guid, DWORD Flags ...
A Hole In My Head
Why does /FASTDETECT exist and how did it get its name?
Posted
over 7 years ago
by
Doron Holan [MSFT]
0
Comments
/FASTDETECT is a command line flag in a boot.ini entry. It started showing up in Windows 2000 (W2K) by default. Why does this flag exist? Previous to W2K ntdetect.com performed a tremendous amount of device detection since PnP did not exist previous...
A Hole In My Head
How can I view the KMDF log for my driver?
Posted
over 7 years ago
by
Doron Holan [MSFT]
1
Comments
A lot of developers have a great experience with KMDF, but then they sometimes hit a wall. They add a chunk of code and the drivers start failing because something in the new code was not implemented correctly. The first question that comes to mind is...
A Hole In My Head
The WDK ISO download link has been moved off of WHDC
Posted
over 6 years ago
by
Doron Holan [MSFT]
5
Comments
For those of you who are trying to find the WDK download link on WHDC, it is not longer there. It has moved to the Microsoft Connect site. Peter Wieland previously described how to get the WDK Beta 2 ISO from this site and nearly the same instructions...
A Hole In My Head
How to correctly initialize a UNICODE_STRING
Posted
over 7 years ago
by
Doron Holan [MSFT]
1
Comments
In the past if you wanted to delcare a UNICODE_STRING and buffer on the stack, you had to manually declare the buffer and then initialize all the fields in the UNICODE_STRING, basically something like this #define SOME_SIZE WCHAR stringBuffer[SOME_SIZE...
A Hole In My Head
Mounting an ISO as a virtual CD rom drive
Posted
over 7 years ago
by
Doron Holan [MSFT]
3
Comments
A few people have emailed me over the past few days how they can see the contents of the KMDF v1.1 ISO (or any other ISO for that matter) without having to burn it to a disc or telling me about the virtual CD tool on http://www.microsoft.com . I am sure...
A Hole In My Head
\Device\Suggestions
Posted
over 7 years ago
by
Doron Holan [MSFT]
34
Comments
If you would like me to write about a topic that relates to WDM, the kernel, debugging, WDF, KMDF, UMDF, or anything that I have refered to in other entries, please add a comment to this entry. Comments will be cleared out periodically if there is enough...
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
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
Debugger commands (!drvobj, !devobj, !podev, !devstack) that make my life easier (part 1)
Posted
over 7 years ago
by
Doron Holan [MSFT]
2
Comments
Over the next few days I'll talk about different debugger commands which I use to make driver development easier, especially when debugging my driver. Today I'll talk about how to find your driver, the devices you created and any device object that any...
A Hole In My Head
Debugger commands (stack frame navigation) that makes my life easier
Posted
over 7 years ago
by
Doron Holan [MSFT]
9
Comments
One thing that I have always found clunky is stack frame navigation in windbg/kd. Previously, I thought you had only a couple of options. The first option, if you are using WinDBG, is that you can bring up the call stack window. I have found that...
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
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
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
I like FORCEINLINE
Posted
over 7 years ago
by
Doron Holan [MSFT]
14
Comments
For kernel mode code, if I have choice between using a #define or a FORCEINLINE function, the FORCEINLINE function wins every time. #defines have their place, especially for quotifying (the # operator) or concatenating (the ## operator), but they have...
A Hole In My Head
I want my sleep key back! (or how to hibernate a machine from your app)
Posted
over 7 years ago
by
Doron Holan [MSFT]
11
Comments
One of the first things I do when I get a new desktop machine or install a new build of Windows is to map the Sleep button on my keyboard to hibernate instead of suspend. Hibernate makes more sense for these machines because they will never run on...
A Hole In My Head
Should I use the chk or fre KMDF coinstaller?
Posted
over 7 years ago
by
Doron Holan [MSFT]
3
Comments
This has been asked quite a few times and is a major point of confusion for KMDF developers. The KMDF coinstaller comes in 2 flavors, chk and fre. Both flavors reside in the same directory in the WDK (winddk\6000\redist\wdf\<arch>) and have their...
A Hole In My Head
Not a big fan of #ifdef or #ifndef
Posted
over 7 years ago
by
Doron Holan [MSFT]
12
Comments
I am not a big fan of the C/C++ preprocessor directives #ifdef or #ifndef . I am not denying that they certainly have their place and usage in the language. I'll first write about where I think they are useful and then about the situations where...
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...
Page 1 of 8 (195 items)
1
2
3
4
5
»