Windows 3.1 Device Drivers (ddag31qh.hlp) (Table of Contents; Topic list)
Interrupt 2Fh Function 4000h
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
mov ax, 4000h             ; Enable VM-Assisted Save/Restore
int 2fh
 
mov [ModesSupported], al  ; video modes supported while in background
 
Enable VM-Assisted Save/Restore directs the virtual-display device (VDD) to
notify the virtual machine (VM) application whenever the VDD needs to access
the video hardware registers. The VDD returns a value specifying the number
and type of video modes the VDD supports when the VM application is in the
background.
 
A VM application calls this function during its initialization.
 
Return Value
 
The return value is one of the following values, if successful.
 
Value  Meaning
────────────────────────────────────────────────────────────────────────────
01h    No modes virtualized in background.
 
02h    Only text modes virtualized in background.
 
03h    Only text and single-plane graphics modes virtualized.
 
04h    Only text, single-plane, and VGA multiplane graphics modes
       virtualized.
 
0FFh   All supported video modes virtualized.
 
Otherwise, the function returns zero in the AL register if virtualization is
not supported.
 
Comments
 
When a VM application calls this function, the VDD disables I/O trapping of
unreadable registers. Thereafter, the VDD calls Save Video Register State
and Restore Video Register State (Interrupt 2Fh Functions 4005h and 4006h)
if it needs to access the video registers. The VM application must provide
an appropriate interrupt handler to process these functions.
 
When an VM application calls this function, the VDD saves the current state
of the video registers. The VDD uses this saved state later to restore video
registers before it calls Notify Foreground Switch and Restore Video
Register State (Interrupt 2Fh Functions 4002h and 4006h).
 
After a VM application calls Enable VM-Assisted Save/Restore, the VDD no
longer saves video memory across screen switches; it becomes the
application's responsibility to completely reinitialize video memory after a
Notify Foreground Switch request.
 
 
                                      ♦