New for Kernel-Mode Driver Architecture
Starting with Windows 8, the following new features are available for kernel-mode drivers.
- Version 3 of DMA_OPERATIONS
- Support for D3cold Device Power State
- Component-Level Power Management
- Thermal Management
- I/O Manager Activity ID Tracing Enhancements
- Early Launch Anti-Malware
- Allocating No-Execute (NX) Memory from Nonpaged Pool
Starting with Windows 8, version 3 of the DMA_OPERATIONS interface supports the advanced hardware capabilities of system DMA controllers in System on a Chip (SoC) hardware platforms. The new interface includes improved versions of some familiar DMA routines to simplify the management of scatter/gather lists and to reduce the need for driver intervention during complex DMA transfers. For more information, see Version 3 of the DMA Operations Interface.
Starting with Windows 8, the D3 (off) device power state is divided into two distinct substates, D3hot and D3cold. D3 is the lowest-powered device power state, and D3cold is the lowest-powered substate of D3. Moving idle devices to the D3cold substate can reduce power consumption and extend the time that a mobile hardware platform can run on a battery charge. For more information, see Supporting D3cold in a Driver.
Starting with Windows 8, the run-time power management framework (PoFx) supports power and clock management at the component (or subdevice) level. A device driver registers with PoFx to independently manage power usage in the individual components in a device. PoFx provides the fine-grained control necessary to extend the time that a Windows portable computer, tablet PC, smartphone, or other mobile device can run on a battery charge. PoFx reduces power usage in a way that maintains the appearance of a mobile device that is always on and always connected. For more information, see Overview of the Power Management Framework.
Starting with Windows 8, the thermal management interface enables device drivers to participate in global management of device thermal levels by the operating system. By coordinating device activity across a hardware platform, the operating system balances the processing requirements of user tasks against the need to keep devices cool so that they continue to operate reliably. Thermal management achieves this balance in a way that preserves the user's perception of a hardware platform that is always on and always connected. For more information, see Device-Level Thermal Management.
Starting with Windows 8, activity IDs can now be associated with IRPs to aid with debugging. For more information, see:
Starting with Windows 8, early launch drivers can register with Windows for anti-malware purposes. For more information, see:
As a best practice, kernel-mode drivers for Windows 8 and later versions of Windows should allocate most or all of their nonpaged memory from the no-execute (NX) nonpaged pool. By allocating memory from NX nonpaged pool, a driver improves security by preventing malicious software from executing instructions in this memory. For more information, see No-Execute (NX) Nonpaged Pool.