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错误值。
注解
调用应用程序必须将 HEAPENTRY32 的 dwSize 成员设置为 结构的大小(以字节为单位)。 Heap32First 将 dwSize 更改为写入结构的字节数。 这永远不会大于 dwSize 的初始值,但它可能更小。 如果值较小,则不要依赖于偏移量大于此值的任何成员的值。
若要访问同一堆的后续块,请使用 Heap32Next 函数。
使用 Heap32First 和 Heap32Next 遍走堆效率低下,尤其是对于大型堆。 请改用 HeapWalk 。
示例
有关示例,请参阅 遍历堆列表。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | tlhelp32.h |
Library | Kernel32.lib |
DLL | Kernel32.dll |