Installer un Callback vers un Résident
![[1.0]](../1.0.gif)
Les fournisseurs de services résidents en mode protégé (TSR mode protégé)
peuvent servir des programmes DPMI 16-bit , 32-bit, ou les deux.
le TSR utilise cette fonction pour recevoir une notification de l'hôte
chaque fois qu'un autre programme DPMI dans la même machine virtuelle
est chargé ou se termine.
Appel avec

AX = 0C00H
ES:(E)DI = selecteur:offset d'un buffer de 40 octets avec la
structure suivante:
Offset | Longueur | Contenu |
00H | 8 | Descripteur pour segment de données 16-bit |
08H | 8 | Descripteur pour segment de code 16-bit |
10H | 2 | Offset de la procédure de callback 16-bit |
12H | 2 | Reservé |
14H | 8 | Descripteur pour segment de données 32-bit |
1CH | 8 | Descripteur pour segment de code 32-bit |
24H | 4 | Offset de la procédure de callback 32-bit |
Retourne

si la fonction réussit
Carry flag = 0
si la fonction échoue
Carry flag = 1
AX = code d'erreur
8021H | valeur invalide (octets de droits d'accès/type
invalides, offset en dehors des limites de segment) |
8025H | adresse linéaire invalide (le descripteur
reference une adresse linéaire en dehors de l'intervalle
autorisé aux clients DPMI ) |
8015H | callback indisponible (l'hôte est incapable
d'allouer des ressources pour le gestionnaire resident ) |
Notes
- Un client DPMI qui utilise cette fonction declare son intention de
fournir des services résidents en mode protégé . Le client doit
subsequemment terminate et rester résident en utilisant l' Int 31H Function 0C01H. les clients DPMI qui
veulent rester résidents seulement pour fournir des services a des
programmes mode réel ne doivent pas utiliser cette fnction.La structure de données fournit de l'espace pour un descripteur
de données, un descripteur de code ,et un offset pour les modes
protégé 16-bit et 32-bit .
Le client peut facilement initialiser les champ descripteur … des
valeurs valides en récupérant des copies de ses descripteurs de
code et de données courant avec l'Int 31H Fonction 000BH.
- Si un seul mode est supporté par le TSR, le descripteur de code
pour le mode non supporté doit être initialisé … zéro.
- Cette fonction est appeléesur la pile vérouillée en mode protégé.
- Pour plus de détails sur la programmation de TSR en mode protégé,
voir cette page.