The DPMI specification was finalized in 1990. The specification itself is available from Intel Literature Sales.
VCPI (Virtual Control Program Interface) was an earlier and incompatible method for doing the same thing.
It also had a more limited scope, in that it basically only allowed a protected mode DOS program to run at all when such program was started from DOS already running inside a virtual 8086 mode task, typically because a memory manager was installed and operating as a virtual [mode] control program for the processor. Because the virtual 8086 mode fully isolates programs from the hardware, without some support from the control program, it is not possible for another program to switch to protected mode by itself.
This article was originally based on material from the Free On-line Dictionary of Computing, used with permission. Update as needed.
A DPMI 1.0 host signals an error by returning from a function with the Carry flag set and an error code in AX.
If the error code has bit 15 clear (0), the DPMI host is passing a DOS error code through to the client; for a list of these error codes, consult a DOS technical reference.
All DPMI 1.0 hosts are required to check for the error conditions listed in this specification, and must return the error codes that are documented for each function.