Funzione GlobalFree (winbase.h)
Libera l'oggetto memoria globale specificato e ne invalida l'handle.
Sintassi
HGLOBAL GlobalFree(
[in] _Frees_ptr_opt_ HGLOBAL hMem
);
Parametri
[in] hMem
Handle per l'oggetto memoria globale. Questo handle viene restituito dalla funzione GlobalAlloc o GlobalReAlloc. Non è sicuro liberare memoria allocata con LocalAlloc.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è NULL.
Se la funzione ha esito negativo, il valore restituito è uguale a un handle all'oggetto memoria globale. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se il processo esamina o modifica la memoria dopo che è stata liberata, il danneggiamento dell'heap può verificarsi o un'eccezione di violazione di accesso (EXCEPTION_ACCESS_VIOLATION) può essere generata.
La funzione GlobalFree libera un oggetto memoria bloccato. Un oggetto memoria bloccato ha un numero di blocchi maggiore di zero. La funzione GlobalLock blocca un oggetto memoria globale e incrementa il conteggio dei blocchi per uno. La funzione GlobalUnlock lo sblocca e decrementa il conteggio dei blocchi per uno. Per ottenere il conteggio dei blocchi di un oggetto memoria globale, usare la funzione GlobalFlags .
Se un'applicazione è in esecuzione in una versione di debug del sistema, GlobalFree emetterà un messaggio che indica che un oggetto bloccato viene liberato. Se si esegue il debug dell'applicazione, GlobalFree immetterà un punto di interruzione appena prima di liberare un oggetto bloccato. Ciò consente di verificare il comportamento previsto, quindi continuare l'esecuzione.
Esempio
Per un esempio, vedere GlobalAlloc.
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 |