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-2005
All Rights Reserved.