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 that 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.