Supporting Devices that Have Wake-Up Capabilities

Drivers for devices that can respond to external wake signals must be able to handle IRP_MN_WAIT_WAKE requests (wait/wake IRPs). The power policy owner for such a device must be able to send an IRP_MN_WAIT_WAKE request.

Typically, whatever causes the device to assert the wake signal is also a normal service event for the device. For example, user input, which might cause a keyboard to wake up the system, is a normal event for the keyboard and its drivers.

The first topic of this section, Overview of Wait/Wake Operation, contains information useful in writing any driver. The following additional topics provide detailed information about handling and sending wait/wake IRPs:

Receiving a Wait/Wake IRP

Sending a Wait/Wake IRP

Canceling a Wait/Wake IRP