Fonction LocalLock (winbase.h)

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

Note Les fonctions locales ont une surcharge plus importante 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

LPVOID LocalLock(
  [in] HLOCAL hMem
);

Paramètres

[in] hMem

Handle de l’objet de mémoire locale. Ce handle est retourné par la fonction LocalAlloc ou LocalReAlloc .

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, LocalLock incrémente le nombre d’un, et la fonction LocalUnlock décrémente le nombre d’un. Chaque appel réussi qu’un processus effectue à LocalLock pour un objet doit être mis en correspondance par un appel correspondant à LocalUnlock. 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 LocalReAlloc . Le bloc de mémoire d’un objet de mémoire verrouillé reste verrouillé dans la mémoire jusqu’à ce que son nombre de verrous soit décrémenté à zéro, auquel moment il peut être déplacé ou ignoré.

Les objets de mémoire alloués avec LMEM_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

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
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

LocalFlags

LocalReAlloc

LocalUnlock

Fonctions de gestion de la mémoire