Power_Event

include vmm.inc
include power.inc

mov     esi, Event
mov     edi, OFFSET32 Return
mov     eax, Power_Event
VMMCall System_Control
 

Notifies the virtual device that a power event has just occurred. The virtual device may modify all general registers and flags.

Event
Type of power event. Can be one of these values:
Value Meaning
PWR_CRITICALRESUME Resume critical operations after suspension.
PWR_SUSPENDREQUEST Suspend operation.
PWR_SUSPENDRESUME Resume operation after suspension.

Return
Address of the doubleword that receives the return value, which can be one of these values:
Value Meaning
PWR_FAIL Virtual device failed to process the event.
PWR_OK Virtual device processed the event successfully.

All other values are reserved.

To fail the call, a virtual device should store the value PWR_FAIL in the doubleword pointed to by Return. For the call to succeed, the virtual device must leave the doubleword pointed to by Return unchanged. If a VxD stores PWR_OK through Return, it might overwrite a PWR_FAIL value that was written there by the previous device.

Only the virtual power device (VPOWERD) is permitted to send this message to devices. The EBX register must be zero on entry. The EDX register is reserved.

Note  This message is sent for compatibility with Windows 3.1 virtual devices. New virtual devices should use the VPOWERD_Register_Power_Handler service to be notified of changes in power state.