Heap32First 函数 (tlhelp32.h)

检索有关进程分配的堆的第一个块的信息。

语法

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

参数

[in, out] lphe

指向 HEAPENTRY32 结构的指针。

[in] th32ProcessID

拥有堆的进程上下文的标识符。

[in] th32HeapID

要枚举的堆的标识符。

返回值

如果第一个堆块的信息已复制到缓冲区,则返回 TRUE ,否则返回 FALSE 。 如果堆无效或为空,则 GetLastError 函数将返回ERROR_NO_MORE_FILES错误值

注解

调用应用程序必须将 HEAPENTRY32dwSize 成员设置为 结构的大小(以字节为单位)。 Heap32FirstdwSize 更改为写入结构的字节数。 这永远不会大于 dwSize 的初始值,但它可能更小。 如果值较小,则不要依赖于偏移量大于此值的任何成员的值。

若要访问同一堆的后续块,请使用 Heap32Next 函数。

使用 Heap32FirstHeap32Next 遍走堆效率低下,尤其是对于大型堆。 请改用 HeapWalk

示例

有关示例,请参阅 遍历堆列表

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 tlhelp32.h
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

HEAPENTRY32

堆列表和堆浏览

Heap32Next

工具帮助函数