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 zero. This allows most translation procedures to operate correctly without the need to test the execution mode of the current virtual machine.
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.
The FS:ESI register pair points to the client's buffer.
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
ESI, Flags, FS