14#define EMS_VERSION_NUM 0x40
15#define EMS_INTERRUPT_NUM 0x67
16#define EMS_SEGMENT 0xD000
18#define EMS_MAX_HANDLES 255
19#define EMS_PAGE_BITS 14
20#define EMS_PAGE_SIZE (1 << EMS_PAGE_BITS)
21#define EMS_PHYSICAL_PAGES 4
24#define EMS_TOTAL_PAGES 1024
26#define EMS_STATUS_SUCCESS 0x00
27#define EMS_STATUS_INTERNAL_ERROR 0x80
28#define EMS_STATUS_INVALID_HANDLE 0x83
29#define EMS_STATUS_UNKNOWN_FUNCTION 0x84
30#define EMS_STATUS_NO_MORE_HANDLES 0x85
31#define EMS_STATUS_INSUFFICIENT_PAGES 0x88
32#define EMS_STATUS_ZERO_PAGES 0x89
33#define EMS_STATUS_INV_LOGICAL_PAGE 0x8A
34#define EMS_STATUS_INV_PHYSICAL_PAGE 0x8B
35#define EMS_STATUS_INVALID_SUBFUNCTION 0x8F
36#define EMS_STATUS_HANDLE_NOT_FOUND 0xA0
37#define EMS_STATUS_UNNAMED_HANDLE 0xA1
38#define EMS_STATUS_HANDLE_ALREADY_EXISTS 0xA1
struct _EMS_COPY_DATA * PEMS_COPY_DATA
BOOLEAN EmsDrvInitialize(USHORT Segment, ULONG TotalPages)
struct _EMS_HANDLE_PAGE_INFO * PEMS_HANDLE_PAGE_INFO
struct _EMS_HANDLE_DIR_ENTRY EMS_HANDLE_DIR_ENTRY
struct _EMS_PAGE * PEMS_PAGE
struct _EMS_COPY_DATA EMS_COPY_DATA
struct _EMS_HANDLE_PAGE_INFO EMS_HANDLE_PAGE_INFO
struct _EMS_HANDLE * PEMS_HANDLE
struct _EMS_HANDLE_DIR_ENTRY * PEMS_HANDLE_DIR_ENTRY
struct _EMS_HARDWARE_INFO EMS_HARDWARE_INFO
struct _EMS_PAGE EMS_PAGE
struct _EMS_MAPPABLE_PHYS_PAGE EMS_MAPPABLE_PHYS_PAGE
struct _EMS_MAPPABLE_PHYS_PAGE * PEMS_MAPPABLE_PHYS_PAGE
struct _EMS_HARDWARE_INFO * PEMS_HARDWARE_INFO
struct _EMS_HANDLE EMS_HANDLE