KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q62065: DPMI Specification Available from Intel

Article: Q62065
Product(s): Microsoft Windows Software Development Kit
Version(s): WINDOWS:3.0,3.1
Operating System(s): 
Keyword(s): kb16bitonly
Last Modified: 06-NOV-1999

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Windows Software Development Kit (SDK) versions 3.0, 3.1 
-------------------------------------------------------------------------------

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 query words: 3.00 vcpi 3.10

======================================================================
Keywords          : kb16bitonly 
Technology        : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK300 kbWinSDK310
Version           : WINDOWS:3.0,3.1

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.