Partager via


Fonction GlobalLock (winbase.h)

Verrouille un objet de mémoire globale et retourne un pointeur vers le premier octet du bloc de mémoire de l’objet.

Note Les fonctions globales ont une surcharge plus importante et fournissent moins de fonctionnalités que les 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 globale doit être utilisée. Pour plus d’informations, consultez Fonctions globales et locales.
 

Syntaxe

LPVOID GlobalLock(
  [in] HGLOBAL hMem
);

Paramètres

[in] hMem

Handle de l’objet mémoire globale. Ce handle est retourné par la fonction GlobalAlloc ou GlobalReAlloc .

Valeur retournée

Si la fonction réussit, la valeur de retour est un pointeur vers le premier octet du bloc de mémoire.

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

Remarques

Les structures de données internes pour chaque objet mémoire incluent un nombre de verrous qui est initialement égal à zéro. Pour les objets de mémoire mobiles, GlobalLock incrémente le nombre d’un, et la fonction GlobalUnlock décrémente le nombre d’un. Chaque appel réussi qu’un processus effectue à GlobalLock pour un objet doit être mis en correspondance par un appel à GlobalUnlock correspondant. La mémoire verrouillée n’est pas déplacée ou ignorée, sauf si l’objet mémoire est réalloué à l’aide de la fonction GlobalReAlloc . Le bloc de mémoire d’un objet de mémoire verrouillé reste verrouillé jusqu’à ce que son nombre de verrous soit décrémenté à zéro, à ce moment-là, il peut être déplacé ou ignoré.

Les objets de mémoire alloués avec GMEM_FIXED ont toujours un nombre de verrous de zéro. Pour ces objets, la valeur du pointeur retourné est égale à la valeur du handle spécifié.

Si le bloc de mémoire spécifié a été ignoré ou si le bloc de mémoire a une taille de zéro octet, cette fonction retourne NULL.

Les objets ignorés ont toujours un nombre de verrous de zéro.

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

GlobalAlloc

GlobalReAlloc

GlobalUnlock

Fonctions de gestion de la mémoire