Funzione GlobalUnlock (winbase.h)
Decrementa il conteggio dei blocchi associato a un oggetto memoria allocato con GMEM_MOVEABLE. Questa funzione non ha alcun effetto sugli oggetti di memoria allocati con GMEM_FIXED.
BOOL GlobalUnlock(
[in] HGLOBAL hMem
);
[in] hMem
Handle per l'oggetto memoria globale. Questo handle viene restituito dalla funzione GlobalAlloc o GlobalReAlloc.
Se l'oggetto memoria è ancora bloccato dopo aver decrementato il conteggio dei blocchi, il valore restituito è un valore diverso da zero. Se l'oggetto memoria viene sbloccato dopo aver decrementato il conteggio dei blocchi, la funzione restituisce zero e GetLastError restituisce NO_ERROR.
Se la funzione ha esito negativo, il valore restituito è zero e GetLastError restituisce un valore diverso da NO_ERROR.
Le strutture di dati interne per ogni oggetto memoria includono un conteggio di blocchi inizialmente zero. Per gli oggetti di memoria rimovibili, la funzione GlobalLock incrementa il conteggio per uno e GlobalUnlock decrementa il conteggio per uno. Per ogni chiamata eseguita da un processo a GlobalLock per un oggetto, deve eventualmente chiamare 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. Se il blocco di memoria specificato è memoria fissa, questa funzione restituisce TRUE.
Se l'oggetto memoria è già sbloccato, GlobalUnlock restituisce i report FALSE e GetLastErrorERROR_NOT_LOCKED.
Un processo non deve basarsi sul valore restituito per determinare il numero di volte in cui deve successivamente chiamare GlobalUnlock per un oggetto memoria.
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 |