UDF > Memory >


_MemGlobalAlloc

Alloue un nombre donn� d'octets sur le tas

#include <Memory.au3>
_MemGlobalAlloc ( $iBytes [, $iFlags = 0] )

Param�tres

$iBytes Le nombre d'octets � allouer. Si ce param�tre est �gal � z�ro et si le param�tre $iflags est d�fini sur $GMEM_MOVEABLE, la fonction retourne le handle d'un objet de m�moire qui est marqu� comme mis au rebut.
$iFlags [optionnel] Attributs d'allocation m�moire:
    $GMEM_FIXED - alloue de la m�moire fixe. La valeur de retour est un pointeur.
    $GMEM_MOVEABLE - alloue de la m�moire d�pla�able. Les blocs de m�moire ne sont jamais d�plac�s dans la m�moire physique, mais ils peuvent �tre d�plac�s � l'int�rieur du tas par d�faut.
        La valeur de retour est le handle de l'objet m�moire.
        Pour convertir le handle en pointeur, utilisez la fonction _MemGlobalLock().
        Cette valeur ne peut pas �tre combin�e avec $GMEM_FIXED.
    $GMEM_ZEROINIT - Initialise le contenu de la m�moire � z�ro
    $GHND - Combine $GMEM_MOVEABLE et $GMEM_ZEROINIT
    $GPTR - Combine $GMEM_FIXED et $GMEM_ZEROINIT

Valeur de retour

Succ�s: Retourne le handle de l'objet m�moire nouvellement allou�e.
�chec: Retourne 0.

Remarques

Le gestionnaire de la m�moire Windows ne fournit pas un tas local s�par� du tas global.

Si cette fonction r�ussit, elle alloue au moins la quantit� de m�moire requise.
Si la quantit� r�elle allou�e est sup�rieure � la quantit� demand�e, le processus peut utiliser la totalit� de la quantit� allou�e.
Pour d�terminer le nombre r�el d'octets allou�, utilisez la fonction _MemGlobalSize().
Si le tas ne contient pas suffisamment d'espace libre pour satisfaire la demande, cette fonction retourne NULL.

La m�moire allou�e par cette fonction est garantie align�e sur 8 octets.

Pour ex�cuter du code g�n�r� dynamiquement, utilisez la fonction _MemVirtualAlloc() pour allouer de la m�moire et la fonction _Mem_VirtualProtect() pour accorder l'acc�s $PAGE_EXECUTE.

Pour lib�rer la m�moire allou�e, utilisez la fonction _MemGlobalFree().

En relation

_MemGlobalFree, _MemGlobalLock, _MemGlobalSize, _MemVirtualAlloc

Voir aussi

Consultez GlobalAlloc dans la librairie MSDN.