Power Management within the Windows 2000 WDM model is somewhat complex. The nature of power management with multiple device power states contributes to the complexity. Partly, the child-parent, device-bus relationship is also to blame. And of course, the handling of wake requests from otherwise sleeping devices adds more code to the driver. Nevertheless, a properly written power-managed WDM driver contributes greatly to the elegant operation of the overall system. Power consumption, heat, and reliability benefit from the incorporation of this feature. The next chapter deals with the handling of a practical device problem: timeouts. What if a hardware request does not complete within a reasonable period of time?
|