Programs which use DPMI services are normally bound to DOS extenders, in order to run under any DOS environment. Most DOS extenders provide an interface to applications using an INT 21h multiplex. For functions which utilize DPMI services, the DOS extender then makes the appropriate INT 31h request.
Extenders that support DPMI will need to initialize differently when they are run under DPMI environments. They will need to enter protected mode using the DPMI real to protected mode entry point, install their own API handlers, and then load the DOS extended application program.
DOS extenders should check for the presence of DPMI before attempting to allocate memory or enter protected mode using any other API. When DPMI services are detected, extenders that provide interfaces that extend or are different from the basic DPMI interface will switch into protected mode and initialize any internal data structures. DPMI-compatible extenders that provide no API extensions should simply execute the protected mode application in real mode.