Les clients DPMI sont chargés en mode réel . Pour passer en mode protégé ,le client doit appeler Int 2FH Fonction 1687H pour tester la présence d'un hôte DPMI et obtenir l'addresse du point d'entrée mode réel-mode protégé. la fonction 1687H renvoie des informations sur les possibilités de l'hôte DPMI et la taille d'une zone de données privées qui est utilisée par l'hôte pour obtenir les structures de données specifiques du client. Après allocation de cette zone en mode réel (DOS Int 21H Fonction 48H), le client genère un FAR CALL vers le point d'entrée avec les paramètres suivants:

AXflags
BitSignification
00 = application 16-bit
1 = application 32-bit
1-15Reservé,doit etre zero
ES segment mode réel des données privées de l'hôte DPMI(doit etre au moins de même taille que celle retournée dans SI par Int 2FH Fonction 1687H; ES est ignoré si la taille est nulle.

Si le Flag Carry est posé au retour,le changement de mode a echoué, le client est toujours en mode réel, et le registre AX contient un des codes d'érreur suivants:

8011Hdescripteur indisponible (ne peut allouer de descripteurs pour CS, DS, ES, SS, PSP, et le pointeur d'environnement)
8021Hvaleur invalide(programme 32-bit specifié mais non supporté)

Si le changement de mode reussit, la routine renvoie en mode protégé, flag carry à 0 avec les résultats suivants:

CSsélecteur 16-bit ,base CS en mode réel et limite à 64Ko
SSsélecteur,base SS en mode réel et limite à 64Ko
DSselecteur,base DS en mode réel et limite à 64Ko
ESsélecteur du PSP avec une limite à 100h
FS0 (Si 80386 ou supérieur)
GS0 (Si 80386 ou supérieur)

Tous les autres registres sont préservés sauf pour les clients 32-bit, le mot fort de ESP est forcé à zéro. Les clients 32-bit s'exécutent initialement avec un segment de code 16-bit, mais tous les appels a l'int 31H nécessitent des pointeurs 48-bit,et les descripteurs de pile et de données doivent être 32-bit (le Big bit est posé dans les descripteurs). Notez que si DS=SS au moment de l'appel au changement de mode,seul un descripteur sera alloué, et le même sélecteur retourné dans DS et SS. Le client est autorisé a modifier ou libérer les descripteurs CS, DS et SS alloués par l'appel au changement de mode.

Le pointeur d'environnement dans le PSP du client est automatiquement converti en un sélecteur pendant le changement de mode. Si le client souhaite libérer la memoire occupée par l'environnement, cela doit être fait avant de passer en mode protégé et mettre à zero le mot a PSP:2CH (adresse de segment de l' environnement). Le client peut changer l'environment dans le PSP après le passage en mode protégé mais il doit le restaurer dans le sélecteur cree par l'hôte DPMI avant la fin du programme. Le clientne doitPAS modifier ou libérer le PSP ou les descripteurs d'environnement fournis par l'hôte DPMI.

Exemple: Le code suivant illustre comment un client DPMI peut obtenir l'addresse du point d'entrée au changement de mode, allouer les donnees privées de l'hote DPMI, et passer en mode protégé

modesw  dd      0                       ; pointeur far  du point d'entree
                                        ; au changement de mode
	.
	.
	.
        mov     ax,1687h                ; obtient l'addresse 
        int   2fh ; 
        or      ax,ax                   ; sort si pas d'hote DPMI
	jnz	error
        mov     word ptr modesw,di      ; sauve  pointeur far 
        mov     word ptr modesw+2,es    ; 
        or      si,si                   ;verifie la taille  de la zone de donnees privee
        jz      @@1                     ; jump si elle n'existe pas

        mov     bx,si                   ; alloue zone privee DPMI 
        int     21h                     ; transfere au DOS
        jc      error                   ; jump, si allocation a echoue
        mov     es,ax                   ;  ES=segment de la zone de donnnee

@@1:    mov     ax,0                    ; bit 0=0 indique 16-bit app
        call    modesw                  ; passe en mode protege
        jc      error                   ; jump si echoue
                                        ; sinon nous sommes en mode protege!!
	.
	.
	.