请输入您要查询的百科知识:

 

词条 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 19:18:40