Syntaxe
APIRET APIENTRY DosAliasMem(PVOID pMem, ULONG cbSize, PPVOID ppAlias, ULONG flags);
|
Paramètres
Nom |
Description
|
pMem |
Ce paramètre permet d'indiquer le contenu de l'adresse de la mémoire des alias. |
cbSize |
Ce paramètre permet d'indiquer la taille, en octets, de la mémoire des alias. |
ppAlias |
Ce paramètre permet d'indiquer l'adresse d'un emplacement dans lequel l'adresse de la mémoire de l'alias est retourné. |
flags |
Ce paramètre permet d'indiquer les drapeaux d'options. |
Retour
Valeur |
Constante |
Description |
0 |
NO_ERROR |
Cette valeur permet d'indiquer que l'opération s'est correctement effectué |
8 |
ERROR_NOT_ENOUGH_MEMORY |
Cette valeur permet d'indiquer que la limite de mémoire système est atteinte. |
87 |
ERROR_INVALID_PARAMETER |
Cette valeur permet d'indiquer qu'un ou plusieurs des paramètres contient une valeur illégale. |
95 |
ERROR_INTERRUPT |
Cette valeur permet d'indiquer qu'une erreur d'interruption s'est produite. |
32798 |
ERROR_CROSSES_OBJECT_BOUNDARY |
Cette valeur permet d'indiquer une erreur de limite d'objet croisé s'est produit. |
Description
Cette fonction permet d'effectuer la création d'un alias de lecture et d'écriture privé ou un alias de code de segment LDT à partir d'un objet de mémoire existant.
Remarques
- Une exportation pour DosAliasMem n'apparaît pas dans les versions de la bibliothèque OS2386.LIB distribuées avant Warp Server for e-business. Lorsque vous
utilisez des versions plus anciennes, les instructions suivantes doivent être ajoutées au fichier d'édition de liens «.DEF» :
importsDosAliasMem = DOSCALLS.298
|
- Un alias est supprimé en appelant DosFreeMem avec l'adresse d'alias.
- Bien qu'il soit possible de créer un alias en lecture et écriture sur un segment de code pour permettre la modification du code, cette situation n'est pas recommandé.
Sur les processeurs Pentium et les versions ultérieures, les techniques d'isolation de canal utilisées par le processeur
peuvent permettre au processeur de ne pas être au courant du code modifié, si la sérialisation appropriée des canaux n'est pas effectuée par le programmeur.
Voir également
Langage de programmation - C pour OS/2 - DosAllocMem
Langage de programmation - C pour OS/2 - DosAllocSharedMem
Langage de programmation - C pour OS/2 - DosFreeMem
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010