词条 | getprocessheap |
释义 | Public Declare Function GetProcessHeap Lib "kernel32" Alias "GetProcessHeap" () As Long 用以获取和调用过程的堆句柄 例如: typedef struct { char data[128]; }Data,*LPData; LPData lpData; lpData = (LPData)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,sizeof(Data)); 即在堆内存上申请了一个不可移动的空间,大小为sizeof(Data). delphi中使用: procedure GetHeaps(List: TStrings); var HeapArr: array[0..9] ofTHandle; {对列表数组, 先假定有 10 堆} n: Integer; i: Integer; begin {获取进程中的堆列表; 函数的参数1是数组大小, 参数2是数组的第一个元素, 返回堆的实际数量} n := GetProcessHeap(Length(HeapArr), HeapArr[0]); List.Add(Format('当前进程共有 %d 个堆', [n])); List.Add('它们的句柄分别是:'); fori := 0ton - 1do List.Add(IntToStr(HeapArr[i])); end; |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。