GetProcessHeaps

【勇芳软件工作室】汉化HomePreviousNext

GetProcessHeaps函数获取对调用进程有效的所有堆的句柄。

DWORD GetProcessHeaps

DWORD 【NumberOfHeaps】,//缓冲区可以接收的最大堆数
PHANDLE 【ProcessHeaps】//指向缓冲区以接收堆处理数组
); 

参数

【NumberOfHeaps】

指定可以存储到【ProcessHeaps】指向的缓冲区中的最大堆处理数。

【ProcessHeaps】

指向缓冲区以接收堆数组的句柄。

返回值

返回值是对调用进程有效的堆处理数。

如果返回值小于或等于【NumberOfHeaps】,它也是存储在【ProcessHeaps】中指向的缓冲区中的堆手柄的数量。

如果返回值大于【NumberOfHeaps】,则【ProcessHeaps】指向的缓冲区太小,无法容纳调用进程的所有有效堆处理。该函数将在该缓冲区中不存储任何句柄。在这种情况下,使用返回值来分配足够大的缓冲区来接收句柄,并再次调用该函数。

如果返回值为零,则该函数失败,因为每个Win32进程至少有一个有效的堆,即进程堆。要获取扩展错误信息,请调用GetLastError.

备注

使用GetProcessHeap函数获取调用进程的进程堆的句柄。GetProcessHeaps函数获取该堆的句柄,以及通过调用HeapCreate函数创建的任何其他私有堆的句柄。

也可以看看

GetProcessHeap, HeapCreate