INT 2F - MS WINDOWS - WINDOWS ENH MODE & 286 DOSX INIT BROADCAST
AX = 1605h
ES:BX = 0000h:0000h
DS:SI = 0000h:0000h
CX = 0000h
DX = flags
bit 0 = 0 if Windows enhanced-mode initialization
bit 0 = 1 if Microsoft 286 DOS extender initialization
bits 1-15 reserved (undefined)
DI = version number (major in upper byte, minor in lower)
Return: CX = 0000h if okay for Windows to load
CX <> 0 if Windows should not load
ES:BX -> startup info structure (see below)
DS:SI -> virtual86 mode enable/disable callback or 0000h:0000h
Notes:  the Windows enhanced mode loader and Microsoft 286 DOS extender will
broadcast an INT 2F/AX=1605h call when initializing.  Any DOS device
driver or TSR can watch for this broadcast and return the appropriate
values.  If the driver or TSR returns CX <> 0, it is also its
responsibility to display an error message.
each handler must first chain to the prior INT 2F handler with
registers unchanged before processing the call
if the handler requires local data on a per-VM basis, it must store the
returned ES:BX in the "next" field of a startup info structure and
return a pointer to that structure in ES:BX
a single TSR may set the V86 mode enable/disable callback; if DS:SI is
already nonzero, the TSR must fail the initialization by setting CX
nonzero
SeeAlso: AX=1608h,AX=4B05h

Format of Startup Information Structure:
Offset  Size    Description
00h  2 BYTEs   major, minor version of info structure
02h    DWORD   pointer to next startup info structure or 0000h:0000h
06h    DWORD   pointer to ASCIZ name of virtual device file or 0000h:0000h
0Ah    DWORD   virtual device reference data (only used if above nonzero)
0Eh    DWORD   pointer to instance data records or 0000h:0000h

Format of one Instance Item in array:
Offset  Size    Description
00h    DWORD   address of instance data (end of array if 0000h:0000h)
04h    WORD    size of instance data

Virtual mode enable/disable procedure called with:
AX = 0000h disable V86 mode
AX = 0001h enable V86 mode
interrupts disabled
Return: CF set on error
CF clear if successful
interrupts disabled

See also: 2F1606

2F1605 - MS WINDOWS - WINDOWS ENH MODE & 286 DOSX INIT BROADCAST