Kosta Koeman 3
Intel Architecture Labs
Table Of Contents
Contributors.....................................................................................................................................2
Revision History..............................................................................................................................2
Introduction.....................................................................................................................................4
White Paper Overview ................................................................................................................4
Overview of Power States...........................................................................................................5
System Power States ...............................................................................................................5
Simplified System Power State View .....................................................................................7
Device Power States................................................................................................................7
Simplified View of Device Power States................................................................................8
Supporting Power Management......................................................................................................9
Power Information To Store In The Device Extension...............................................................9
Overview of Device Capabilities Structure...............................................................................10
Acquiring Device Capabilities ..................................................................................................11
The Four Power IRP Minor Functions......................................................................................13
IRP_MN_POWER_SEQUENCE .........................................................................................13
IRP_MN_QUERY_POWER ................................................................................................13
IRP_MN_WAIT_WAKE......................................................................................................17
IRP_MN_SET_POWER.......................................................................................................21
Generating Power IRPs.............................................................................................................28
IRP_MN_POWER_SEQUENCE .........................................................................................28
IRP_MN_SET_POWER (Device only)................................................................................28
IRP_MN_WAIT_WAKE......................................................................................................30
IRP Sequences...........................................................................................................................30
System Suspend.....................................................................................................................30
System Resume.....................................................................................................................30
System Resume due to Device Wakeup (Windows® 98 Gold/SE/ME)...............................30
System Resume due to Device Wakeup (Windows® 2000).................................................30
Device Suspend.....................................................................................................................31
Device Resume......................................................................................................................31
Device Wakeup (Windows® 2000) ......................................................................................31
Worst Case Scenario .................................................................................................................31
Improper Power Management Consequences...........................................................................32
Appendix – Source Code...............................................................................................................33
References .....................................................................................................................................75