include vmm.inc
mov edx, RefData ; reference data (any doubleword)
mov esi, OFFSET32 Callback ; callback function to call
VMMCall Allocate_PM_Call_Back
jc error
mov [CallbackAddr], eax ; selector:offset for callback
Registers a callback function that 16-bit protected-mode applications can call. Virtual devices use this service to provide an interface that is available to device drivers and applications in a VM. Uses EAX, Flags.
The system calls the callback procedure as follows:
mov ebx, VM ; current VM handle
mov edi, hCurThread ; current thread handle
mov edx, RefData ; reference data
mov ebp, OFFSET32 crs ; points to Client_Reg_Struc
call [Callback]
The VM parameter is a handle identifying the current virtual machine. The RefData parameter is the value supplied when the callback procedure was installed, and crs points to a Client_Reg_Struc structure containing the register values for the virtual machine at the time it called the PM callback address. The callback may read and modify the client registers; any changes made will be seen by the calling application when control returns to it.
Allocate_V86_Call_Back