DosCallBack |
DOS : Appel par arrière |
---|---|
DOSCALLS.DLL | os2.h |
Syntaxe
void DosCallback(PFN Ring3Routine); |
Paramètres
Nom | Description |
---|---|
Ring3Routine | Ce paramètre permet d'indiquer l'adresse du troisième niveau de privilège de la routine d'application étant appelé. |
Description
Cette fonction permet d'appeler un fournisseur de segment IOPL de niveau de privilège 2 dans un appel de segment d'application de niveau de privilège 3.
Remarques
- Cette fonction permet à une routine s'exécutant avec le privilège d'entrée/sortie (au niveau de privilège 2) d'appeler un segment s'exécutant au niveau de privilège 3 et également d'exécuter la routine cible au niveau de privilège 3; par exemple, ne pas autoriser et exiger que la routine cible soit conforme au niveau de privilège 2.
- La routine demandée reçoit le contrôle au niveau de privilège 3 et lorsqu'elle termine l'exécution et retourne, le retour est effectué à la routine d'appel de niveau de privilège 2.
- Tous les registres, à l'exception des registres de drapeaux, sont transmis intacts sur cette séquence de retour d'appel et peuvent être utilisés pour transmettre des paramètres ou des données. Toutes les adresses passées du niveau de privilège 2 au niveau de privilège 3 doivent être basées sur les sélecteurs de niveau de privilège 3 uniquement car le code de niveau de privilège 3 n'a pas d'adressabilité appropriée à aucun sélecteur de données de niveau de privilège 2.
- La pile de niveau de privilège 2 ne peut pas être utilisée pour transmettre des données à la routine de niveau de privilège 3.
- Si la fonction DosCallback est utilisé de manière imbriquée de telle sorte qu'une routine de niveau de privilège 3 émet un appel à une routine de niveau de privilège 2 tout en effectuant une opération «Callback» (après avoir été invoquée par «Callback» mais avant d'avoir émis un retour RET FAR vers le privilège code de niveau 2), toutes les demandes DosCallback ultérieures doivent terminer l'exécution et émettre leurs RET FAR correspondants dans l'ordre dernier entré, premier sorti (LIFO).
Voir également
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010