Fonction LocalReAlloc (winbase.h)

Modifie la taille ou les attributs d’un objet mémoire local spécifié. La taille peut augmenter ou diminuer.

Note Les fonctions locales ont une plus grande surcharge et fournissent moins de fonctionnalités que d’autres fonctions de gestion de la mémoire. Les nouvelles applications doivent utiliser les fonctions de tas , sauf si la documentation indique qu’une fonction locale doit être utilisée. Pour plus d’informations, consultez Fonctions globales et locales.
 

Syntaxe

DECLSPEC_ALLOCATOR HLOCAL LocalReAlloc(
  [in] _Frees_ptr_opt_ HLOCAL hMem,
  [in] SIZE_T                 uBytes,
  [in] UINT                   uFlags
);

Paramètres

[in] hMem

Handle de l’objet mémoire local à réallouer. Ce handle est retourné par la fonction LocalAlloc ou LocalReAlloc .

[in] uBytes

Nouvelle taille du bloc de mémoire, en octets. Si uFlags spécifie LMEM_MODIFY, ce paramètre est ignoré.

[in] uFlags

Options de réaffectation. Si LMEM_MODIFY est spécifié, la fonction modifie les attributs de l’objet mémoire uniquement (le paramètre uBytes est ignoré.) Sinon, la fonction réalloue l’objet mémoire.

Vous pouvez éventuellement combiner LMEM_MODIFY avec la valeur suivante.

Valeur Signification
LMEM_MOVEABLE
0x0002
Alloue de la mémoire fixe ou mobile.

Si la mémoire est un bloc de mémoire verrouillé LMEM_MOVEABLE ou un bloc de mémoire LMEM_FIXED et que cet indicateur n’est pas spécifié, la mémoire peut uniquement être réaffectée sur place.

 

Si ce paramètre ne spécifie pas LMEM_MODIFY, vous pouvez utiliser la valeur suivante.

Valeur Signification
LMEM_ZEROINIT
0x0040
Provoque l’initialisation du contenu mémoire supplémentaire à zéro si la taille de l’objet mémoire augmente.

Valeur retournée

Si la fonction réussit, la valeur de retour est un handle pour l’objet mémoire réalloué.

Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Si LocalReAlloc échoue, la mémoire d’origine n’est pas libérée, et le handle et le pointeur d’origine sont toujours valides.

Si LocalReAlloc réalloue un objet fixe, la valeur du handle retourné est l’adresse du premier octet du bloc de mémoire. Pour accéder à la mémoire, un processus peut simplement convertir la valeur de retour en pointeur.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Fonctions globales et locales

LocalAlloc

LocalFree

LocalLock

Fonctions de gestion de la mémoire