V86MMGR_Load_Client_Ptr

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.

Parameters

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

ESI, Flags, FS