La table suivante montre les restrictions pour un client DPMI de l'usage de descripteurs précedemment alloués comme paramètres d'entrée aux fonctions DPMI. Les colonnes representent les façons dont l'hôte DPMI alloue les descripteurs pour ces clients. (Les deux premières colonnes representent les fonctions de gestion des descripteur de LDT qui allouent les descripteurs, la troisième représente les fonctions de mémoire DOS , et la dernière represente les autres descripteurs, ex: descripteurs non alloués ou utilisés par l'hôte DPMI pour usage interne.) Chaque ligne represente un jeu de fonctions ou un client transmet ce(s) descripteur(s) précédemment alloués à l'hôte comme paramètres d'entrée. Un `N' indique que une erreur "Selecteur Invalide" sera générée si le descripteur donné est utilisé dans la fonction specifiée.
Notez que un `O' pour une entrée donnée n'indique pas que la fonction réussira, mais seulement qu'elle ne génèrera pas une erreur "Selecteur Invalide". De même, un `N' n'indique pas nécessairement qu'un descripteur est invalide comme référence mémoire, seulement qu'il ne peut être employé avec cette fonction particulière. Ce tableau ne traite pas l'usage des descripteurs en tant que pointeurs.
Par exemple, les descripteurs alloués par la fonction d'allocation de descripteur de LDT peuvent être utilisés dans toutes les fonctions d'interrogation et de modification de gestion du descripteur de LDT, ainsi que les fonctions qui fixent les gestionnaires d'exception et d'interruption . Ils ne doivent pas être transmis pour allouer des descripteur Specifique de LDT ou les fonctions de Bloc mémoire DOS .
Allocateurs de descripteur | ||||
---|---|---|---|---|
fonctions réferant au descripteur alloué | alloue descripteur LDT, alloue descripteur Specific LDT , Crée un Alias de descripteur, Initial CS, DS, SS | Segment à descripteur, PSP, Pointeur d'Environnement , Callback DS, Pile Vérouillée SS | alloue/change la taille Bloc mémoire DOS | descripteur base sur la GDT,descripteur Système , descripteur non-alloué |
Fonctions d'Interrogation : Lire Address Base du Segment, Lire descripteur,Lire Multiple descripteur, Créer un Alias de Segment | O | O | O | N |
Fonctions de Modification: Fixe Adresse de Base du Segment, Fixe Limites du Segment, Fixe les Droits d'Accès du Descripteur ,Fixe le Descripteur,Fixe Descripteurs Multiple, Libère le descripteur de LDT | O | N | N | N |
alloue descripteur Specifique de LDT | N | N | O | O(1) |
Libère/Change la taille d'un Bloc mémoire DOS | N | N | O | N |
Fixe Gestionnaire d'Exception/d'Interruption | O | O(3) | O | O(2) |
Notes: