MRCInfoRec

     This structure is maintained by the MRCI server.  Calls to
     INT 2fH 4a12H and INT 1aH b001H obtain the address of one of these
     and all MRCI API compression and decompression fns require that ES:BX
     point to this structure on entry.

MRCInfoRec
  Offset Size Contents
  ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
   +0      4  lVendor      e.g., Microsoft is 'MSFT' 4dH, 53H, 46H, 54H
   +4      2  wVenVer      vender version number
   +6      2  wMrciVer     MRCI spec. version number
   +8      4  pfpEntry     FAR address of MRCI API handler
  +0cH     2  wCaps        Server capabilities bit flags (see below)
  +0eH     2  wHWCaps      same as wCaps, but for hardware assist (if any)
  +10H     2  wMaxDataLen  maximum size of data that can be compressed or
                           decompressed
           18              size of a MRCInfoRec structure

     lVendor  is a four-byte string identifying the vender that produced the
              currently-active MRCI server.

     wVenVer  is the vendor's internal version number and...
    wMrciVer  is the version of the MRCI specification that this server
              supports.

              The high byte is the major version number and the low byte is
              the minor; e.g., 010aH would be version 1.10.

    pfpEntry  is the entry address used to access MRCI API services.  Set up
              the registers with a fn code in AX, etc. and then call this
              address using a FAR CALL.

              Beware of the IMPORTANT constraints before calling this
              address.  See MRCI fn 0001H for calling sequence.  Failure to
              check InDOS and set a Windows Critical Section will result in
              a system crash and loss of data.

       wCaps  is a set of bit flags that indicates which MRCI capabilities
              are supported by this server:
               1 1
              ┌5┬4───6┬5┬4┬3┬2┬1┬0┐
              │r│0...0│i│0 0 0│dc│
              └╥┴─────┴╥┴─┴─┴─┴╥┴╥┘ bit  mask
               ║       ║       ║ ╚═► 0: 0001H can "standard" compress
               ║       ║       ╚═══► 1: 0002H can "standard" decompress
               ║       ╚═══════════► 5: 0020H can incremental decompress
               ╚═══════════════════►15: 8000H this MRCInfoRec is Read-Only

              Note that bits 3,4, and 5 are explicitly reserved.  They may
              relate to the "max-compress" idea that surfaces in the early
              DOS 6 beta dox, but appears to have been squashed by the
              Stacker lawsuit.

     wHWCaps  is a bit-packed flag with each bit identical in meaning to
              that of wCaps, but representing capabilities of a hardware-
              assisted, ROM-based MRCI server.  This is 0000H with software-
              based MRCI servers.

 wMaxDataLen  The maximum amount of data that can be compressed or
              decompressed in one block.  Microsoft's MRCI server version
              1.0 supports 32769-byte blocks.

              All MRCI servers are required to support at least 8192.

   Notes: Since this is maintained inside the data area owned by the MRCI
          server, it's probably not wise to muck around in it.

          However, Microsoft source code examples modify the pfpEntry field
          of the old MRCI server when installing a new one.

See Also: MRCI API
          DoubleSpace API
          INT 2fH: Multiplex Interrupt
          DOS Functions
                                    -♦-