Funzione GlobalLock (winbase.h)
Blocca un oggetto memoria globale e restituisce un puntatore al primo byte del blocco di memoria dell'oggetto.
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 |