'''DPMI''' (DOS Protected Mode Interface) è un'interfaccia che permette ad un programma [[DOS]] di funzionare nella modalità protetta e di accedere alla [[memoria estesa]] in un [[sistema operativo]] [[multitasking]] come [[Microsoft Windows]]. Quasi tutti gli [[extender DOS]] sono basati su DPMI e permettono di accedere a tutta la memoria disponibile nel PC e di funzionare nella modalità protetta.
Il servizio può funzionare a {{M|16|ul=bit}}, {{M|32|u=bit}}, o entrambi ("universal") ed è chiamato ''[[kernel]] DPMI'', ''host DPMI'' o ''server DPMI''. Viene fornito direttamente dal sistema operativo (''host DPMI virtuale'') o da un [[extender DOS]] (''host DPMI reale''). Il kernel DPMI può essere parte di un extender DOS come [[DOS4GW]], [[DOS/32A]], o separatamente, come [[CWSDPMI]] o [[HDPMI]].
La prima specifica DPMI fu pubblicata nel [[1989]]. La versione 0.9 fu pubblicata nel [[1990]] dal comitato DPMI e fu estesa nel [[1991]] con la versione 1.0. Le specifiche DPMI sono disponibili dai {{Chiarire|libri della [[Intel]]}} e online. La versione 1.0 non fu mai implementata in [[Microsoft Windows|Windows]], per questo molti extender DOS si basano sulla 0.9. Attualmente DPMIONE è l'unico che rispetta completamente le specifiche DPMI.
==VCPI==
'''VCPI''' (Virtual Control Program Interface) era un metodo più vecchio e incompatibile per fare le stesse cose di DPMI ed era limitato al modo a {{M|32|u=bit}}. VCPI era fornito dai gestori di memoria espansa in DOS: [[CEMM]], [[QEMM]] e più tardi [[EMM386]]. Fu eclissato dal DPMI, e non era supportato dai programmi DOS eseguiti nella modalità protetta di Windows 3.0 (''modalità 386 avanzata''). I programmi VCPI venivano eseguiti nel Ring 0, che rendeva la protezione della memoria inutilizzabile. Non funzionava neanche sotto [[OS/2]] 2.0 e successivi. [[Windows 3.x]] supportavano VCPI solamente nella modalità Standard e Reale. Windows/386 2.1 e precedenti non erano compatibili con nessun DOS extender.