I have a couple questions about this IRP:
I am implementing power management in a WDM device driver (For 2000/98/Me)
for a Digital Camera. The device does not have the ability to wake up the
system.
- I’ve read the DDK Docs, and want to be sure I understand the
IRP_MN_WAIT_WAKE IRP before I start coding. Is this IRP used to setup the
driver stack to be able to respond to wakeup events from devices. So if the
system is going into a lower power state, and an attached device (Like a
mouse or keyboard) has the ability to wake up the system, the Function
driver for the device will setup a IRP_MN_WAIT_WAKE IRP that will be used
to kick off the stream of events to wake the system up when an external
(Wakeup) event happens (Like moving the mouse).
I think the DDK describes an IRP stack for a USB keyboard IRP_MN_WAIT_WAKE
that ends up processing (The stack) 4 IRP_MN_WAIT_WAKE IRPs at different
levels (From the Keyboard driver –> USB HUB driver –> USB Host Controller
Driver –> PCI Driver.
So my ACPI BIOS on my computer will have the ability to detect a device (On
the USB in this case) that is sending a wakeup event. This action causes the
stream of IRP events to occur to wake up the system.
- Since my camera does *NOT* have the ability to wake up the system, do I
need to concern myself with processing this IRP. Will I ever receive it. If
I don’t ever set it up, will the Power manager ever send it to me for some
reason. It looks like I don’t have to worry about it at all since my
function driver for the camera will never set it up. Am I correct in
assuming this ?
Thanks
-Chris
Christopher Pane
Software Engineer
Vanteon
2851 Clover Street
Pittsford, NY 14534
Tel: (716) 248-0510 (Ext 232)
Fax: (716) 248-0537
email: xxxxx@vanteon.com
web: www.vanteon.com