INT 2fH 4310H: Get HIMEM.SYS (XMM) Entry Address

                                                         Compatibility: 3.0+ 
 Expects: AX    4310H
          ──────────────────────────────────────────────────────────────────
 Returns: ES:BX far address of the XMS function dispatcher
          ──────────────────────────────────────────────────────────────────
    Info: Obtains the address of the XMS function dispatcher, though which
          all eXtended Memory Specification services are accessed.

          Before using this fn, use INT 2fH 4300H to check to see if the
          XMS provider has been installed.

          See Extended Memory Specification (XMS) for information on how to
          access XMS services and a description of the available fns.

 Example: ;--------------- check for and access an EMM fn
          dd  pfEmmFns     ;will hold 32-bit segment:offset addr
           .
           .
           .
          mov  ax,4300H
          int  2fH
          cmp  al,80H      ;is support present?
          jne  no_ems      ; no, go

          mov  ax,4310H    ;get entry address
          int  2fH
          mov  word ptr [pfEmmFns],bx
          mov  word ptr [pfEmmFns+2],es
          ;--------------- now call a service
          mov  ah,00H      ;get XMS version
          call [pfEmmFns]  ; this is a far call
          ;--------------- on most calls, check for AX=0001 (error)

See Also: INT 2fH 43xxH: HIMEM.SYS Functions
          INT 2fH: Multiplex Interrupt
          DOS Functions
                                    -♦-