Freigeben über


HeapUnlock-Funktion (heapapi.h)

Gibt den Besitz des kritischen Abschnittsobjekts oder der Sperre frei, das einem angegebenen Heap zugeordnet ist. Die Aktion der HeapLock-Funktion wird umgekehrt.

Syntax

BOOL HeapUnlock(
  [in] HANDLE hHeap
);

Parameter

[in] hHeap

Ein Handle für den heap, der entsperrt werden soll. Dieses Handle wird entweder von der HeapCreate- oder getProcessHeap-Funktion zurückgegeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die HeapLock-Funktion ist in erster Linie nützlich, um die Zuordnung und Freigabe von Heapspeicher durch andere Threads zu verhindern, während der aufrufende Thread die HeapWalk-Funktion verwendet. Die HeapUnlock-Funktion ist die Inverse von HeapLock.

Jeder Aufruf von HeapLock muss durch einen entsprechenden Aufruf der HeapUnlock-Funktion abgeglichen werden. Wenn HeapUnlock nicht aufgerufen wird, wird die Ausführung anderer Threads des aufrufenden Prozesses blockiert, die versuchen, auf den Heap zuzugreifen.

Wenn die HeapUnlock-Funktion auf einem Heap aufgerufen wird, der mit dem flag HEAP_NO_SERIALIZATION erstellt wurde, sind die Ergebnisse nicht definiert.

Beispiele

Auflisten eines Heaps

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile heapapi.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Heapfunktionen

HeapLock

HeapWalk

Speicherverwaltungsfunktionen

In VBS-Enclaves verfügbare Vertdll-APIs