VDD_Clear_Mod

include vdd.inc

VxDcall VDD_Clear_Mod


The VDD_Clear_Mod service clears the change state of a virtual machine.

Parameters

EDX

Specifies the system virtual machine handle.

EBX

Specifies the handle of the virtual machine for which to clear the change state.

EDI

Specifies the VDD control block pointer.

EBP

Points to the Client_Reg_Struc structure for the virtual machine.

Client_EBX

Specifies the virtual machine handle.

Return Value

The carry flag is set if an invalid virtual machine handle is specified. Otherwise, this service has no return value.

Comments

This service allows proper text scrolling if an application runs between calls to the VDD_Get_Mod and VDD_Clear_Mod services.

This service assumes that VDD_Clear_Mod is called twice when the VDD sends a scroll event to 386 enhanced-mode grabber; once in the TextScroll function, and again in the UpdateScreen function.

If an application has accessed pages since the last call to the VDD_Get_Mod service and there is a scroll event generated in the previous VDD_Get_Mod, the service sets the fVDD_UpdAll1Bit value in VDD_Flags and transfers main memory to copy memory. The VDD_Clear_Mod service clears the fVDD_UpdAll1Bit value and sets fVDD_UpdAll2Bit. The VDD_State_Query service returns changes if fVDD_UpdAll2Bit is set. Since fVDD_UpdAll2Bit is set, the VDD_Mod_Text service returns the entire screen changed (no scrolls) and the VDD_Clear_Mod service clears the fVDD_UpdAll2Bit value and updates the copy memory.

If application accessed pages since the last VDD_Get_Mod and there was no scroll event in the previous VDD_Get_Mod, the copy memory is not updated.

Uses

Flags