DoubleSpace IOCTL fn 'I': Flush and Invalidate Cache

                                                         Compatibility: 6.0+ 
 Expects: AX    4404H (INT 21H IOCTL Read service number)
          BL    any compressed drive number (1=A, 2=B, etc)
          CX    10 (size of a DsIoctlRec; see below)
          DS:DX address of a DsIoctlRec with an 'I' (ASCII 49H) in
                the bCmdCode field)
          ──────────────────────────────────────────────────────────────────
 Returns: DS:DX bResult contains a DoubleSpace API Error Code (00H=success)
          ──────────────────────────────────────────────────────────────────
    Info: DoubleSpace maintains internal caches for its cluster data,
          BitFAT and MDFAT data (see CVF Layout).

          This IOCTL fn forces DoubleSpace to update the CVF on disk to
          reflect the currently-cached data AND to invalidate its cache (so
          it will read future data requests from the disk).

          This is handy for disk utility programs which need to ensure that
          changes they make to a CVF are recognized immediately.

    DS:DX points to a DsIoctlRec as follows:

          DsIoctlRec
            Offset Size Contents
            ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
             +0      2  abSig       must be 444dH ('M','D')
             +2      1  bCmd        must be 46H ('I') flush & Invalidate
             +3      2  bResult     returns a DoubleSpace API Error Code
             +5      5  res         (reserved; 0)
                    10              size of a DsIoctlRec structure

          To use this fn, set up the packet and the registers, and call
          INT 21H.  See DOS fn 44H (device I/O Control) for related DOS
          functions.

          On return, check bResult for an error code.  The value 4f4bH
          ('OK') indicates success.

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