Heap32ListFirst function (tlhelp32.h)

Retrieves information about the first heap that has been allocated by a specified process.


BOOL Heap32ListFirst(
  [in]      HANDLE       hSnapshot,
  [in, out] LPHEAPLIST32 lphl


[in] hSnapshot

A handle to the snapshot returned from a previous call to the CreateToolhelp32Snapshot function.

[in, out] lphl

A pointer to a HEAPLIST32 structure.

Return value

Returns TRUE if the first entry of the heap list has been copied to the buffer or FALSE otherwise. The ERROR_NO_MORE_FILES error value is returned by the GetLastError function when no heap list exists or the snapshot does not contain heap list information.


The calling application must set the dwSize member of HEAPLIST32 to the size, in bytes, of the structure. Heap32ListFirst changes dwSize to the number of bytes written to the structure. This will never be greater than the initial value of dwSize, but it may be smaller. If the value is smaller, do not rely on the values of any members whose offsets are greater than this value.

To retrieve information about other heaps in the heap list, use the Heap32ListNext function.


For an example, see Traversing the Heap List.


Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header tlhelp32.h
Library Kernel32.lib
DLL Kernel32.dll

See also



Heap Lists and Heap Walking


Tool Help Functions