Instructor: Jamie Hanrahan - co-author of upcoming NT driver book by O'Reilly
Duration: 3 days (NOTE: day 1 is our Windows NT Internal Architecture seminar)
Optional 1-day hands-on labs (labs also available for NT Internal Architecture)
This seminar is designed to provide clear understanding and practical knowledge of the architecture, design, and coding of Windows NT kernel-mode device drivers. Windows NT device drivers are substantially different from those for DOS, Windows, Windows 95, Unix, OS/2, and many other operating systems. If you need to write a device driver for Windows NT, this two-day seminar, which follows our one-day Windows NT Internal Architecture seminar, will short-circuit the "re-learning curve" by giving you a thorough understanding of the Windows NT I/O subsystem and practical tips on writing NT drivers.
A "top-down" approach is used -- an entire driver is first presented at a fairly high conceptual level, and then layers of details and alternate possibilities are gradually filled in, including how to write drivers for real-world devices that don't quite fit the mold. You'll learn the advantages and disadvantages of various driver design strategies. We'll cover not just what code to write, but also why; this will help you produce bug-free designs quickly. Since bugs will still occur, we'll also talk about driver debugging, giving you advanced tools and techniques to get your code running quickly.
NOTE: Win32 subsystem drivers, such as printer and display drivers, are not addressed in this seminar. The seminar does, however, cover debugging in, and other aspects of, the kernel mode environment, which may be helpful for Win32 subsystem driver writers who were previously working in user mode.
Microsoft has announced a "new" Windows Driver Model (WDM) which will "soon" be adopted by both Windows NT and Windows 95. At WinDev West '95, Microsoft made clear that WDM is the NT kernel driver architecture as described in this seminar, with some extensions to be added to support power management and plug-and-play. Windows (that is, a future version of the operating system currently known as Windows 95) will be adopting this model over the next few years, so NT kernel drivers will be (at that time) portable to Windows. Windows. The Windows NT driver interfaces will not change.
In other words, this seminar is teaching WDM. WDM drivers are compatible with Windows NT, and will also be compatible with a future version of Windows 95.
Attendees should be familiar with system level I/O programming and should have at least a reading knowledge of the C programming language. Note that the seminar is always delivered in conjunction with our 1-day Windows NT Internal Architecture class, so it is assumed that students have already completed that class.
This seminar is designed for people who need to write device drivers for Windows NT. However, hardware designers can also benefit by learning how to design devices to offer the best performance under Windows NT.
Hands-on student labs are available as an optional add-on to the seminar, adding 1 day of time to the course, for a total of 4 days. Standard lab exercises include:
These exercises build on the material presented in the class to encourage the students to derive additional information from the DDK documentation and to use it to produce debugged code, without being distracted by the details of writing production-grade code for a driver for a real-world device.
Although they appear simple, we have found that our standard lab exercises are highly effective in "solifying" the students' understanding of the material presented in the preceding three days.
If suitable customer hardware is available, labs can be conducted as a supervised "experimental development" effort against such test hardware.
Read comments from past attendees
OTHER SEMINARS BY David Solomon Expert Seminars