GlobalFree-Funktion (winbase.h)
Gibt das angegebene globale Speicherobjekt frei und ungültig das Handle.
Syntax
HGLOBAL GlobalFree(
[in] _Frees_ptr_opt_ HGLOBAL hMem
);
Parameter
[in] hMem
Ein Handle für das globale Speicherobjekt. Dieses Handle wird entweder von der Funktion GlobalAlloc oder GlobalReAlloc zurückgegeben. Es ist nicht sicher, mit LocalAlloc zugeordneten Arbeitsspeicher freizugeben.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert NULL.
Wenn die Funktion fehlschlägt, ist der Rückgabewert gleich einem Handle für das globale Speicherobjekt. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn der Prozess den Arbeitsspeicher überprüft oder ändert, nachdem er freigegeben wurde, kann eine Heapbeschädigung auftreten oder eine Zugriffsverletzungs-Ausnahme (EXCEPTION_ACCESS_VIOLATION) generiert werden.
Die GlobalFree-Funktion gibt ein gesperrtes Speicherobjekt frei. Ein gesperrtes Speicherobjekt weist eine Sperranzahl größer als 0 (null) auf. Die GlobalLock-Funktion sperrt ein globales Speicherobjekt und erhöht die Sperranzahl um eins. Die GlobalUnlock-Funktion entsperrt sie und verringert die Anzahl der Sperren um eins. Verwenden Sie die GlobalFlags-Funktion , um die Sperranzahl eines globalen Speicherobjekts abzurufen.
Wenn eine Anwendung unter einer Debugversion des Systems ausgeführt wird, gibt GlobalFree eine Meldung aus, die Sie darüber informiert, dass ein gesperrtes Objekt freigegeben wird. Wenn Sie die Anwendung debuggen, gibt GlobalFree unmittelbar vor dem Freigeben eines gesperrten Objekts einen Haltepunkt ein. Dadurch können Sie das beabsichtigte Verhalten überprüfen und dann mit der Ausführung fortfahren.
Beispiele
Ein Beispiel finden Sie unter GlobalAlloc.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (Windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |