Funzione LocalUnlock (winbase.h)
Decrementa il conteggio dei blocchi associato a un oggetto memoria allocato con LMEM_MOVEABLE. Questa funzione non ha alcun effetto sugli oggetti di memoria allocati con LMEM_FIXED.
Sintassi
BOOL LocalUnlock(
[in] HLOCAL hMem
);
Parametri
[in] hMem
Handle per l'oggetto memoria locale. Questo handle viene restituito dalla funzione LocalAlloc o LocalReAlloc.
Valore restituito
Se l'oggetto memoria è ancora bloccato dopo aver decrementato il conteggio dei blocchi, il valore restituito è 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.
Commenti
Le strutture di dati interne per ogni oggetto memoria includono un conteggio di blocchi inizialmente zero. Per gli oggetti di memoria rimovibili, la funzione LocalLock incrementa il conteggio per uno e LocalUnlock decrementa il conteggio per uno. Per ogni chiamata eseguita da un processo a LocalLock per un oggetto, deve infine chiamare LocalUnlock. La memoria bloccata non verrà spostata o eliminata a meno che l'oggetto memoria non venga riallocato usando la funzione LocalReAlloc . 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.
Se l'oggetto memoria è già sbloccato, LocalUnlock restituisce FALSE e GetLastError segnala ERROR_NOT_LOCKED. Gli oggetti di memoria allocati con LMEM_FIXED hanno sempre un numero di blocchi pari a zero e causano l'errore di ERROR_NOT_LOCKED .
Un processo non deve basarsi sul valore restituito per determinare il numero di volte in cui deve successivamente chiamare LocalUnlock per il blocco di memoria.
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |