Freigeben über


Heap32First-Funktion (tlhelp32.h)

Ruft Informationen zum ersten Block eines Heaps ab, der von einem Prozess zugeordnet wurde.

Syntax

BOOL Heap32First(
  [in, out] LPHEAPENTRY32 lphe,
  [in]      DWORD         th32ProcessID,
  [in]      ULONG_PTR     th32HeapID
);

Parameter

[in, out] lphe

Ein Zeiger auf eine HEAPENTRY32-Struktur .

[in] th32ProcessID

Der Bezeichner des Prozesskontexts, dem der Heap gehört.

[in] th32HeapID

Der Bezeichner des zu enumerierenden Heaps.

Rückgabewert

Gibt TRUE zurück, wenn Informationen für den ersten Heapblock in den Puffer kopiert wurden, oder andernfalls FALSE . Der ERROR_NO_MORE_FILES Fehlerwert wird von der GetLastError-Funktion zurückgegeben, wenn der Heap ungültig oder leer ist.

Hinweise

Die aufrufende Anwendung muss den dwSize-Member von HEAPENTRY32 auf die Größe der Struktur in Bytes festlegen. Heap32First ändert dwSize in die Anzahl der Bytes, die in die Struktur geschrieben wurden. Dies ist niemals größer als der Anfangswert von dwSize, kann aber kleiner sein. Wenn der Wert kleiner ist, verlassen Sie sich nicht auf die Werte von Membern, deren Offsets größer als dieser Wert sind.

Um auf nachfolgende Blöcke desselben Heaps zuzugreifen, verwenden Sie die Heap32Next-Funktion .

Das Durchlaufen des Heaps mit Heap32First und Heap32Next ist ineffizient, insbesondere bei großen Heaps. Verwenden Sie stattdessen HeapWalk .

Beispiele

Ein Beispiel finden Sie unter Durchlaufen der Heapliste.

Anforderungen

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

Siehe auch

HEAPENTRY32

Heaplisten und Heap walking

Heap32Weiter

Toolhilfefunktionen