DosAllocThreadLocalMemory |
DOS : Alloue un processus léger en mémoire local |
DOSCALLS.DLL |
os2.h |
Syntaxe
APIRET DosAllocThreadLocalMemory(ULONG cb, PULONG *p);
|
Paramètres
Nom |
Description |
cb |
Ce paramètre permet d'indiquer un nombre d'octets à alloué. |
p |
Ce paramètre permet d'indiquer l'adresse d'un bloc de mémoire retourné par la fonction. |
Retour
Valeur |
Constante |
Description |
0 |
NO_ERROR |
Cette valeur permet d'indiquer que l'opération s'est correctement effectué |
87 |
ERROR_INVALID_PARAMETER |
Cette valeur permet d'indiquer qu'un ou plusieurs des paramètres contient une valeur illégale. |
Description
Cette fonction permet d'allouer un bloc de mémoire étant unique, local ou un processus léger.
Remarques
- Lorsqu'un processus est démarré, un petit bloc de mémoire est mis de côté pour être utilisé comme zone de mémoire locale du processus léger. Cette mémoire est à la même adresse virtuelle
pour chaque processus léger, mais est sauvegardée par une mémoire physique différente. Cette situation permet à chaque processus léger d'avoir un petit bloc de mémoire unique ou local pour
ce processus léger.
- La zone de mémoire locale du processus léger se compose de 32 DWORD (128 octets), chaque DWORD ayant une taille de 4 octets. Jusqu'à 8 DWORD (32 octets) peuvent
être demandés à chaque appel de cette fonction. Si vous souhaitez allouer plus de 8 DWORD, vous devez appeler cette fonction plusieurs fois.
- L'allocation se fait uniquement par DWORD. Si vous souhaitez entreposer un BYTE dans la zone de mémoire locale du processus léger, vous allouerez toujours un DWORD,
puis entreposerez le BYTE dedans.
Voir également
Langage de programmation - C pour OS/2 - DosFreeThreadLocalMemory
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010