用以獲取和調用過程的堆句柄
例如:
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;
相關詞條
-
getprocessheap
Public "kern char
-
HeapAlloc
(getprocessheap (),HEAP_ZERO_MEMORY... = (PIP_INTERFACE_INFO)HeapAlloc(GetProcessHeap...
HeapAlloc函式 -
CreateThread
簡介微軟在Windows API中提供了建立新的執行緒的函式CreateThread。概述當使用CreateProcess調用時,...
簡介 概述 函式原型 參數說明 記憶體泄漏 -
PIDL
【PIDL簡介】從Windows 95開始,微軟公司為作業系統引入了新的外殼界面,新的外殼從根本上改變了應用程式同作業系統的...
【PIDL簡介】 【PIDL外殼命名空間】 【PIDL的記憶體分配】 -
SvcHost
:GetProcessHeap .text:010010D5 push eax...
SvcHost 簡介 -
kernel32.dll
檔案信息 kernel32.dll 軟體大小:隨作業系統版本不同而不同軟體星級:2.5檔案描述:Windows NT BASE ...
檔案信息 核心檔案 出錯元兇 解決方案 技術信息