Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
V86MMGR_Load_Client_Ptr
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include v86mmgr.inc
 
VxDcall V86MMGR_Load_Client_Ptr
 
The V86MMGR_Load_Client_Ptr service loads the FS:ESI register with the
specified client segment and offset values. If the virtual machine is
running a 16-bit protected mode application, the high word of the offset in
ESI is set to zero. Otherwise, if the virtual machine is running a 32-bit
program or is in VxD_Exec_Mode, the high word of ESI is not set to zeroed.
This allows most translation procedures to operate correctly without the
need to test the execution mode of the current virtual machine.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
 
AH         Specifies a client segment register.
 
AL         Specifies a client offset register.
 
EBX        Specifies the current virtual machine handle. The virtual machine
           must be in protected mode.
 
EBP        Points to a Client_Reg_Struc structure containing the register
           values for the virtual machine.
 
Return Value
 
The FS:ESI register pair points to the client's buffer.
 
Example
 
The value passed in AX should be formed from the Client_Reg_Struc structure
fields. For example, to load the virtual machine's DS:(E)DX, use the
following code:
 
mov ax, (Client_DS * 100h) + Client_DX
VxDcall V86MMGR_Load_Client_Ptr
 
Uses
 
FS, ESI, Flags
 
                                      ♦