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.