Condividi tramite


Funzione GlobalLock (winbase.h)

Blocca un oggetto memoria globale e restituisce un puntatore al primo byte del blocco di memoria dell'oggetto.

Nota Le funzioni globali hanno un sovraccarico maggiore e forniscono meno funzionalità rispetto ad altre funzioni di gestione della memoria. Le nuove applicazioni devono usare le funzioni heap , a meno che non venga usata una documentazione che indica che deve essere usata una funzione globale. Per altre informazioni, vedere Funzioni globali e locali.
 

Sintassi

LPVOID GlobalLock(
  [in] HGLOBAL hMem
);

Parametri

[in] hMem

Handle per l'oggetto memoria globale. Questo handle viene restituito dalla funzione GlobalAlloc o GlobalReAlloc.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un puntatore al primo byte del blocco di memoria.

Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Le strutture di dati interne per ogni oggetto memoria includono un conteggio di blocchi inizialmente zero. Per gli oggetti di memoria rimovibili, GlobalLock incrementa il conteggio per uno e la funzione GlobalUnlock decrementa il conteggio per uno. Ogni chiamata riuscita eseguita da un processo a GlobalLock per un oggetto deve corrispondere a una chiamata corrispondente a GlobalUnlock. La memoria bloccata non verrà spostata o eliminata, a meno che l'oggetto memoria non venga riallocato usando la funzione GlobalReAlloc . Il blocco di memoria di un oggetto memoria bloccato rimane bloccato fino a quando il numero di blocchi viene decrementato su zero, al momento in cui può essere spostato o rimosso.

Gli oggetti di memoria allocati con GMEM_FIXED hanno sempre un numero di blocchi pari a zero. Per questi oggetti, il valore del puntatore restituito è uguale al valore dell'handle specificato.

Se il blocco di memoria specificato è stato rimosso o se il blocco di memoria ha dimensioni zero byte, questa funzione restituisce NULL.

Gli oggetti rimossi hanno sempre un numero di blocchi pari a zero.

Requisiti

   
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni globali e locali

Globalalloc

GlobalReAlloc

GlobalUnlock

Funzioni di gestione della memoria