INF: DPMI Specification Available from Intel

ID Number: Q62065

3.00

WINDOWS

Summary:

The MS-DOS protected mode interface (DPMI) specification is available

free of charge by calling Intel Corporation at (800) 548-4725.

International customers can obtain the DPMI Specification by

contacting the Intel sales office that serves their country.

More Information:

The DPMI specification was defined to allow an MS-DOS program to

access the extended memory provided by a PC architecture computer

while maintaining system protection. DPMI defines a specific subset of

MS-DOS and BIOS calls that can be made by protected mode MS-DOS

programs. It also defines a new interface through software Interrupt

31h, which protected mode programs can use to allocate memory, modify

selectors, call real mode software, and so forth.

DPMI is commonly used to communicate with a terminate-and-stay-

resident (TSR) program or an MS-DOS device driver from a protected

mode application. If the protected mode application passes a buffer of

data to a TSR or device driver, the application must allocate the

buffer from memory addressed below 1 megabyte to make the data

accessible to the real mode software. The application must also

translate the buffer's address from a selector address to a segment

address. If the real mode software calls back to a function in the

protected mode application, the application must allocate a real mode

callback address. DPMI provides services to perform each of these

tasks.

The Microsoft Windows standard mode MS-DOS extender and Windows

enhanced mode provide translation services for most of the commonly

used interrupts. This allows a driver or an application to call

MS-DOS, the BIOS, and other common services without using the DPMI.

However, when an application communicates with a network, a TSR, or

any real mode software for which Windows does not provide automatic

translation, it must use DPMI services.

DPMI services should be used only in a Windows device driver or a

dynamic-link library (DLL). An application should manipulate selectors

using the kernel selector functions, documented in the Microsoft

Windows Software Development Kit (SDK). Calling DPMI services from an

application may not be supported by future versions of Windows.

However, calling these services from a device driver or a DLL will be

supported.

Additional reference words: 3.00 vcpi