DosSubAllocMem |
DOS : Sous-allocation mémoire |
---|---|
DOSCALLS.DLL | os2.h |
Syntaxe
APIRET DosSubAllocMem( PVOID pOffset, PPVOID pBlockOffset , ULONG ulSize ); |
Paramètres
Nom | Description |
---|---|
pOffset | Ce paramètre permet d'indiquer la position en mémoire du pool dans lequel le bloc de mémoire est alloué. |
pBlockOffset | Ce paramètre contient un pointeur de type longword permettant d'indiquer la position où est entreposé le bloc de mémoire. |
ulSize | Ce paramètre permet d'indiquer la taille, en octets, d'une requête de bloc mémoire. |
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. |
311 | ERROR_DOSSUB_NOMEM | Cette valeur permet d'indiquer qu'il n'y a plus de mémoire de disponible en sous-allocation. |
532 | ERROR_DOSSUB_CORRUPTED | Cette valeur permet d'indiquer qu'il y a corruption de sous-mémoire. |
Description
Cette fonction permet d'allouer un bloc de mémoire d'un pool de création utilisant DosSubSetMem.
Exemple
Voici un simple exemple montrant comme appeler cette API avec WatCom C++ for OS/2 :
- #define INCL_DOSERRORS
- #define INCL_DOSMEMMGR
- #include "os2.h"
- #include "stdio.h"
-
- void main(void) {
- PVOID Offset;
- PPVOID BlockOffset;
- switch(DosSubAllocMem( Offset, BlockOffset, 57)) {
- case NO_ERROR: printf("Tout va bien !");break;
- case ERROR_INVALID_PARAMETER: printf("Erreur : Un ou plusieurs des paramètres contient une valeur illégale.");break;
- case ERROR_DOSSUB_NOMEM: printf("Erreur : Il n'y a plus de mémoire de disponible en sous-allocation.");break;
- case ERROR_DOSSUB_CORRUPTED: printf("Erreur : Il y a corruption de sous-mémoire.");break;
- }
- }
Voir également
Langage de programmation - C pour OS/2 - DosSubFreeMem
Langage de programmation - C pour OS/2 - DosSubUnsetMem
Langage de programmation - C pour OS/2 - DosSubSetMem
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010