ES:DI (or ES:EDI) address of 40-byte buffer (see below)
Info: This sets up for a DPMI client to provide memory-resident
protected-mode services to other protected-mode clients.
whenever another DPMI program in the same VM is loaded or
DS:(E)DI this points to a structure formatted as follows:
+0 8 lDesc16Data descriptor for 16-bit data segment
+8 8 lDesc16Code descriptor for 16-bit code segment
+10H 2 lOff16Proc offset of 16-bit callback procedure
+14H 8 lDesc32Data descriptor for 32-bit data segment
+1cH 8 lDesc32Code descriptor for 32-bit code segment
+24H 4 lOff32Proc offset of 32-bit callback procedure
40 size of this structure
fill some of the above fields. If you will support only 16-bit
or only 32-bit applications, put zeros in the structure members
Notes: If you only need to provide services to real-mode applications
services to intercept interrupt vectors and make yourself RAM-
After calling this fn, use INT 31H 02xxH services to intercept
When a DPMI client gets loaded, your callback address will be
called via a FAR CALL with AX=0 when a program is loading or
AX=1 when a program is terminating. On program loads, you will
typically intercept one or more interrupts to supply services