DOS/32 Advanced DOS Extender - Programmer's Reference 2.48 - DPMI function 0A00h - Get Vendor-Specific API Entry Point Returns an address which can be called to use host-specific extensions to the standard set of DPMI functions.
In: | AX = 0A00h DS:ESI = selector:offset of ASCIIZ (null-terminated) string which identifies the DPMI host vendor
Out: | if successful: CF clear ES:EDI = (code)selector:offset of extended API entry point DS, FS, GS, EAX, EBX, ECX, EDX, ESI, and EBP may be modified. if failed: CF set AX = error code 8001h - unsupported function (extension not found)
Notes: a) The null-terminated string specifies the host-specific vendor name or some other unique identifier to obtain a specific extension entry point. The string comparison used to look up the API entry point is case-sensitive. b) Clients must use a FAR CALL to reach the extended API entry point. c) All extended API parameters are specified by the vendor. d) DOS/32 Advanced recognizes two ID-strings: 1) "RATIONAL DOS/4G",\0 2) "SUNSYS DOS/32A",\0 When calling this function with DS:ESI pointing to the first ID-string, ie "RATIONAL DOS/4G", DOS/32 Advanced will return in ES:EDI a pointer to the entry point of DOS/4G(W) DPMI API extensions. *) Please note that DOS/4G(W) DPMI API extensions are not supported by this version of DOS/32 Advanced DPMI. A call to DOS/4G(W) extended DPMI API entry point will result in a fatal error which will terminate the application immediately and return to DOS. When calling this function with DS:ESI pointing to the second ID-string, ie "SUNSYS DOS/32A", DOS/32 Advanced will return in ES:EDI a pointer to the entry point of DOS/32 Advanced DPMI API extensions, and an additional information in the following registers: AX = DOS Extender version number AL = minor version number (binary) AH = major version number (binary) BL = DPMI Kernel configuration bits BH = System software type: 00h = Clean 01h = XMS 02h = VCPI 03h = DPMI CL = CPU type: 03h = 80386 04h = 80486 05h = 80586 (Pentium) 06h = 80686 (Pentium Pro or Pentium II) 07h-0FFh = reserved CH = FPU type: 00h = none (no co-processor is present) 01h = 8087 02h = 80287 03h = 80387 04h = 80486 with numeric coprocessor 05h = 80586 (Pentium) 06h = 80686 (Pentium Pro or Pentium II) DX = PIC values (unrelocated) ES:EDI = (code)selector:offset of DOS/32 Advanced DPMI API extensions DS:ESI, EBP, FS, GS = unmodified Please refer to the section 2.52 - Vendor Specific DPMI API Extensions to get full information about DOS/32 Advanced extended DPMI API functions. Additional information about value returned in BL register and about DOS/32 Advanced DPMI Kernel configuration can be found in the document "DOS/32 Advanced Technical Reference". Copyright © Supernar Systems, Ltd. 1996-2002 All Rights Reserved.