[Previous] [Next]
Power Capabilities
The fourth step in the wizard (shown in Figure C-6) allows you to specify some miscellaneous
power management capabilities. With the exception of the Idle Detection option, I haven't
debugged all the interactions between this page and the driver options on other pages. Be
prepared to sort this out yourself if you set any option other than Idle Detection.
Figure C-6. Page for specifying power management capabilities.
The capabilities in this page are as follows:
- Queue Reads And Writes While Power Is Off Set this option if your driver will
accept and queue read and write IRPs even while your device is powered down. Clear this option
if your driver will reject new read and write IRPs during such periods.
- Device Supports System Wakeup Set this option if your device has system wake-up
capability. Otherwise, clear the option. Setting the option generates skeletal support for
generating IRP_MN_WAIT_WAKE requests at appropriate points.
- Device Can Be Stopped While Busy With An IRP If your driver has some way to halt an
active read or write IRP when an IRP_MN_STOP_DEVICE comes along, you can set this option if you
want. Otherwise, leave the option clear.
- Idle Detection Set this option if you want your device to automatically power down
after a user-prescribed period of inactivity. If you're using GENERIC.SYS with your driver,
you'll automatically get support for a set of IOCTLs that my POWCPL.DLL uses, thereby
gaining a user interface for free.
- Power On Only While Handles Open This option is available for USB devices only. Set
it if you want your device powered on only while an application has an open handle.
- Power Inrush During Power-On Set this option if your device is an inrush
device that demands a large spike of current when powering on.