[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 2F - MS WINDOWS - "DOSMGR" VIRTUAL DEVICE API
        AX = 1607h
        BX = 0015h (VxD identifier of "DOSMGR")
        CX = function
            0000h query instance processing
                Return: CX = state
                            0000h not instanced
                            other instanced (DOS 5.0 kernel returns 0001h)
                                DX = segment of DOS drivers
                                        (unchanged if call handled by DOS 5.0)
                                ES:BX -> patch table (see below)
            0001h set patches in DOS
                DX = bit mask of patch requests
                    bit 0 enable critical sections
                    bit 1 NOP setting/checking user ID
                    bit 2 turn INT 21/AH=3Fh on STDIN into polling loop
                    bit 3 trap stack fault in "SYSINIT" to WIN386
                    bit 4 BIOS patch to trap "Insert disk X:" to WIN386
                Return: AX = B97Ch
                        BX = bit mask of patches applied
                        DX = A2ABh
            0002h remove patches in DOS (ignored by DOS 5.0 kernel)
                DX = bit mask of patch requests (see function 0001h)
            0003h get size of DOS data structures
                DX = bit mask of request (only one bit can be set)
                    bit 0: Current Directory Structure size
                Return: if supported request:
                            AX = B97Ch
                            CX = size in bytes of requested structure
                            DX = A2ABh
                        else:
                            all registers preserved
            0004h determine instanced data structures
                Return: AX = B97Ch if supported
                        DX = A2ABh if supported (DOS 5.0 kernel returns 0000h)
                        BX = bit mask of instanced items
                            bit 0: CDS
                            bit 1: SFT
                            bit 2: device list
                            bit 3: DOS swappable data area
            0005h get device driver size
                ES = segment of device driver
                Return: 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:  the DOS 5.0 kernel provides these calls; earlier versions require a
          separate driver
        DOSMGR (DOS Manager) will check whether the OEM DOS/BIOS data has
          been instanced via INT 2F/AX=1605h and will not perform its own
          instancing of the normal DOS/BIOS data if so
SeeAlso: AX=1607h/BX=000Ch,AX=1607h/BX=0014h,AX=1684h

Format of patch table:
Offset  Size    Description
 00h    WORD    number of items in patch table
 02h  N WORDs   offsets of ??? to be patched

See Also: 2F1605
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson