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.
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 |