Structure of a Kernel-Mode Driver

A kernel-mode driver looks very different from conventional applications. In general, a driver is just a collection of routines that are called by operating system software (usually the I/O Manager). Flow charts don't provide much benefit when diagramming control paths of a device driver. The routines of the driver sit passively until they are invoked by routines of the I/O Manager.

Depending on the driver, the I/O Manager might call a driver routine in any of the following situations:

  • When a driver is loaded

  • When a driver is unloaded or the system is shutting down

  • When a device is inserted or removed

  • When a user-mode program issues an I/O system service call

  • When a shared hardware resource becomes available for ...

Get Windows® 2000 Device Driver Book: A Guide for Programmers, Second Edition, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.