INT 21 U - Memory Managers - GET EMM IMPORT STRUCTURE ADDRESS                   
	AX = 4402h subfn 01h
	BX = file handle for device "EMMXXXX0"
	CX = 0006h (size of buffer in bytes)
	DS:DX -> buffer for EMM import structure record (see #01514)
		first byte must be 01h on entry
Return: CF clear if successful
	    buffer filled (see also #03603 at INT 67/AH=3Fh)
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	this function is supported by Microsoft EMM386.EXE v4.45+,
	  QEMM-386 v6+, and CEMM v5.10+, and is intended for use by MS Windows
	  as it starts up
	for QEMM-386, this call always returns an error if Windows3 support
	  has been disabled with the NW3 switch
SeeAlso: AX=4402h/SF=00h,AX=4402h"EMM386",INT 2F/AX=D201h/BX=5145h
SeeAlso: INT 67/AH=3Fh


Format of EMM import structure record:
Offset	Size	Description	(Table 01514)
 00h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	physical address of EMM import structure (see #01515)
 04h	BYTE	EMM import structure major version
 05h	BYTE	EMM import structure minor version
Note:	vession 1.00 contains only EMSsee Expanded Memory Specification information (Windows 3.0+)
	version 1.10 contains UMBsee Upper Memory Block/XMSsee Extended Memory Specification/HMAsee High Memory Area/EMSsee Expanded Memory Specification information (Windows 3.1)
	version 1.11 is version 1.10 plus memory manager maker/product name
SeeAlso: #03643


Format of Global EMM Import record:
Offset	Size	Description	(Table 01515)
 00h	BYTE	bit flags
		bit 2: ???
		bit 3: free EMM386 virtual HMAsee High Memory Area only if hma_page_table_paddr!=0
		bit 4: no UMBsee Upper Memory Block???
 01h	BYTE	reserved (0)
 02h	WORD	size of structure in bytes
 04h	WORD	structure version
 06h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	reserved
 0Ah 384 BYTEs	64 EMSsee Expanded Memory Specification frame status records (see #01516), one per 16K of
		  real-mode 1M address space
18Ah	BYTE	??? (must be at least 3*number_of_EMS_frames+4)
18Bh	BYTE	number of UMBsee Upper Memory Block frame descriptors following
18Ch 4N DWORDs	UMBsee Upper Memory Block frame descriptors
		each is 4 DWORDs giving physical page numbers for the four
		  4K pages of a 16K EMSsee Expanded Memory Specification frame (00000000h if non-UMB page)
var	BYTE	number of EMSsee Expanded Memory Specification handle info records following
    16N BYTEs	EMSsee Expanded Memory Specification handle info records (see #01518)
---version 1.10+ ---
	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	realmode INT 67 vector (used by Windows to set breakpoints)
	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	physical address of HMAsee High Memory Area page table values
	BYTE	number of free page entries following
     2N DWORDs	free page entries
		each is:
		    DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	physical page number
		    DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	number of consecutive physical pages
	BYTE	number of XMSsee Extended Memory Specification handle info records following
		00h if memory manager does not emulate XMSsee Extended Memory Specification or has real mode
		  XMSsee Extended Memory Specification code which can execute in the Windows environment
    12N BYTEs	XMSsee Extended Memory Specification handle info records (see #01519)
	BYTE	number of free UMBsee Upper Memory Block info records following
     2N WORDs	free UMBsee Upper Memory Block info records
		each is:
		    WORD	real mode start segment
		    WORD	size in paragraphs
---version 1.11---
     20 BYTEs	blank-padded maker name
     20 BYTEs	blank-padded product name


Format of EMSsee Expanded Memory Specification frame status record:
Offset	Size	Description	(Table 01516)
 00h	BYTE	frame type (see #01517)
 01h	BYTE	owner handle (00h/FFh = none) from frame including UMBsee Upper Memory Block
		index to UMBsee Upper Memory Block frame descriptors
 02h	WORD	logical page for frame, 7FFFh if none, FFFFh if non-EMS frame
 04h	BYTE	EMSsee Expanded Memory Specification physical page number (FFh for non-EMS = don't care???)
 05h	BYTE	flags for non-EMS frames (00h for EMSsee Expanded Memory Specification frame)
		bits 0,1 for first 4K, bits 2,3 for second 4K, etc:
		  10: direct mapping (linear address = physical address)
		  01: UMBsee Upper Memory Block mapping


Bitfields for EMSsee Expanded Memory Specification frame type:
Bit(s)	Description	(Table 01517)
 0	EMSsee Expanded Memory Specification frame
 1	(if EMSsee Expanded Memory Specification frame) in standard 64K page frame
 2	first 4K of frame is UMBsee Upper Memory Block
 3	second 4K of frame is UMBsee Upper Memory Block
 4	third 4K of frame is UMBsee Upper Memory Block
 5	last 4K of frame is UMBsee Upper Memory Block


Format of EMSsee Expanded Memory Specification handle info record:
Offset	Size	Description	(Table 01518)
 00h	BYTE	handle number (00h = system handle)
 01h	BYTE	flags
		bit 0: normal handle rather than system handle
		bit 2: ??? (set by some EMSsee Expanded Memory Specification managers)
 02h  8 BYTEs	EMSsee Expanded Memory Specification handle's name
 0Ah	WORD	number of 16K pages for handle
 0Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	physical address of page table entries forming page map
Note:	all values should be zero for the system handle if no large frame
	  support is present


Format of XMSsee Extended Memory Specification handle info record:
Offset	Size	Description	(Table 01519)
 00h	WORD	handle
 02h	WORD	flags
		bit 0: handle usable by Windows
			(already in use when Windows started if clear)
		bit 1: reserved (0)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	size in KB (may be zero, used only if flags bit 0 set)
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	physical address (only if flags bit 0 set)