Interrups | Categories | Contents |
AX = 1607h BX = 0015h (VxD identifier of "DOSMGR") CX = function 0000h query instance processing DX = 0000hReturn:
CX = state 0000h not instanced other instanced (DOS 5+ kernel returns 0001h) DX = segment of DOS drivers or 0000h for default of 0070h ES:BX -> patch table (see #02637) 0001h set patches in DOS DX = bit mask of patch requests (see #02636)Return:
AX = B97Ch BX = bit mask of patches applied (see #02636) DX = A2ABh 0002h remove patches in DOS (ignored by DOS 5.0 kernel) DX = bit mask of patch requests (see #02636)Return:
CX = 0000h (DOS 5-6)
Note: Return values are ignored by DOSMGR in Windows 3.1 0003h get size of DOS data structures DX = bit mask of request (only one bit can be set)
bit 0:
Current Directory Structure sizeReturn:
If supported request: AX = B97Ch CX = size in bytes of requested structure DX = A2ABh else: CX = 0000h all other registers preserved 0004h determine instanced data structuresReturn:
AX = B97Ch if supported DX = A2ABh if supported (DOS 5+ kernel returns 0000h) BX = bit mask of instanced itemsbit 0:
CDSbit 1:
SFTbit 2:
Device listbit 3:
DOS swappable data area 0005h get device driver size ES = segment of device driverReturn:
DX:AX = 0000h:0000h on error (not dev. driver segment) DX:AX = A2ABh:B97Ch if successful BX:CX = size of device driver in bytes
Notes: DOSMGR (DOS Manager) will check whether the OEM DOS/BIOS data has been instanced via this API and will not perform its own default instancing of the normal DOS/BIOS data if so; if this API is not supported, DOSMGR will also try to access instancing data through INT 2F/AX=1603h. These functions are supported by the DOS 5+ kernel; DOSMGR contains tables of instancing information for earlier versions of DOS. See Geoff Chappell's book _DOS_Internals_ for additional discussions of DOSMGR's behavior and instancing in general
See Also:
AX=1603h - AX=1605h - AX=1607h/BX=000Ch - AX=16
See Also:
AX=1684h"DEVICE API"
Bitfields for DOSMGR patch requests:
Bit(s) Description (Table 02636)
0 enable critical sections
1 NOP setting/checking user ID
2 turn INT 21/AH=3Fh on STDIN into polling loop
3 trap stack fault in "SYSINIT" to WIN386
4 BIOS patch to trap "Insert disk X:" to WIN386
Format of DOSMGR patch table:
Offset Size Description (Table 02637)
00h 2 BYTEs DOS version (major, minor)
02h WORD offset in DOS data segment of "SAVEDS"
04h WORD offset in DOS data segment of "SAVEBX"
06h WORD offset in DOS data segment of InDOS flag
08h WORD offset in DOS data segment of User ID word
0Ah WORD offset in DOS data segment of "CritPatch" table to enable
critical section calls (see INT 2A/AH=80h)
0Ch WORD (DOS 5+ only) offset in DOS data segment of "UMB_HEAD",
containing segment of last MCB in conventional memory
Category:
DOS Kernel
-
Int 2Fh
-
M
Interrups | Categories | Contents |