Microsoft Driver Development Conference
Nov 11-14, 2003, Redmond, WA. Hundreds of driver
developers met in marathon sessions this week on the Microsoft
campus to learn from Microsoft developers and to provide feedback
about future directions. WD-3 was there. Just as soon as we get
clearance to discuss various things that are nominally covered by
NDA, you'll read about them here.
|
WD-3 Subscription Service Available
In response to reader requests, we've created a subscription
service. In keeping with our NONCOMMERCIAL orientation, all we ask
for is your e-mail address, and all we'll ever send you are messages
telling you when we post new issues. Naturally, you can opt out at
any time.
All of our content is free and available to all, whether or
not you're a subscriber.
Click here to reach the signup page.
|
|
Essentials of Building Windows Drivers
by James Antognini
If you're new to the world of driver programming, there's a lot
to learn about building drivers. Which DDK do you use? How do you
setup your development environment? How do you create the auxiliary
files that the DDK build environment depends on? In this article,
James Antognini explains all.
Read the whole article
|
Exceptions, Bugchecks and Register Context
by Jamie Hanrahan
You've probably noticed that if you have the debugger connected
to your target system when a crash occurs, the debugger often points
you directly to the line of code in your driver that caused the
problem. But when you open up the resulting memory dump file, the
debugger unhelpfully opens a disassembly window showing a portion of
something like KiTrap0E or PspUnhandledExceptionInSystemThread.
To make sense of the dump, you need to understand how to interpret
the register context in the dump. In this first of a series of
articles on kernel debugging, master programmer Jamie Hanrahan shows
you how.
Read the whole article
|
1394 Isochronous Transfers
by Bill McKenzie
Isochronous transfers on the 1394 bus guarantee timely delivery of data.
Specifically, isochronous transfers are scheduled by the bus so that they occur
once every 125 µs. Isochronous transfers, unlike asynchronous transfers,
do not in any way guarantee the integrity of data through a
transfer. Isochronous transfers are useful for situations that require a constant data rate
but not necessarily data integrity. Examples include video
or audio data transfers.
Read the whole
article
|
|
Gotcha! Traps
for the unwary devleoper
This issue: problems with registry DDIs, thread local storage in
a DLL, C++ in the kernel, and more...
|
The Architect
Sometimes you need to let applications open handles to separately
addressable subunits of your device. In this issue's The Architect,
learn how to implement a driver namespace for that purpose.
|
|