For the most common kinds of PC devices, the Windows NT DDK supplies a sample set of fully functional, system NT drivers. Individual sample drivers can be used as models when developing new NT drivers for similar kinds of devices. However, the system’s NT drivers had an additional design requirement: to make it easy to develop new NT device drivers. Consequently, many of the system’s NT drivers have a layered architecture so that certain drivers can be reused to support new NT drivers for similar devices.
In most cases, the DDK-supplied reusable drivers are higher-level NT drivers that handle hardware-independent operations for a system-supplied lowest-level, device-specific driver. In some cases, such as the parallel port and SCSI port drivers, these reusable drivers provide support for higher-level, device-type-specific class drivers. Note that none of the system’s reusable drivers precludes the development of new intermediate NT drivers to be added to a chain of existing drivers, as already described in Section 2.2.
Whether a new (or replacement) NT device driver must be a lowest-level or higher-level driver depends partly on the hardware configuration of devices in a given Windows NT platform, and partly on how much support a new NT driver can get from existing system drivers.