📄 nexusmm3hook.dpr.svn-base
字号:
{##############################################################################}
{# NexusMM: NexusMM3Hook.dpr 2.00 #}
{# NexusDB Memory Manager: NexusMM3Hook.dpr 3.04 #}
{# Copyright (c) Nexus Database Systems Pty. Ltd. 2003 #}
{# All rights reserved. #}
{##############################################################################}
{# NexusMM: Hook DLL for NexusMM3 #}
{##############################################################################}
{# If this DLL is loaded into a process which uses NexusMM3 before that #}
{# process initializes the MM all allocations/deallocations will be routed #}
{# through the hook functions presented here. #}
{##############################################################################}
{$I nxDefine.inc}
library NexusMM3Hook;
uses
Windows,
CSIntf;
procedure LoadMe; register; begin end;
{=== Memory Manager Hooks =====================================================}
procedure BeforeGetMem(var aSize: Integer); register;
begin
CodeSite.Send('BeforeGetMem.size', aSize);
end;
{------------------------------------------------------------------------------}
procedure AfterGetMem(aSize: Integer; var p: Pointer); register;
begin
CodeSite.Send('AfterGetMem.p', Integer(p));
end;
{------------------------------------------------------------------------------}
procedure BeforeFreeMem(var p: Pointer); register;
begin
CodeSite.Send('BeforeFreeMem.p', Integer(p));
end;
{------------------------------------------------------------------------------}
procedure BeforeReallocMem(var p: Pointer; var aSize: Integer); register;
begin
CodeSite.Send('BeforeReallocMem.p', Integer(p));
CodeSite.Send('BeforeReallocMem.Size', aSize);
end;
{------------------------------------------------------------------------------}
procedure AfterReallocMem(aSize: Integer; var p: Pointer); register;
begin
CodeSite.Send('AfterReallocMem.p', Integer(p));
end;
{------------------------------------------------------------------------------}
procedure BeforeGetAllocSize(var p: Pointer); register;
begin
end;
{------------------------------------------------------------------------------}
procedure AfterGetAllocSize(p: Pointer; var aSize: Integer); register;
begin
end;
{==============================================================================}
{=== Block Pool Hooks =========================================================}
procedure AfterBlockPoolAlloc(p: Pointer); register;
begin
end;
{------------------------------------------------------------------------------}
procedure BeforeBlockPoolDispose(p: Pointer); register;
begin
end;
{==============================================================================}
{=== Memory Pool Hooks ========================================================}
procedure BeforeGetPool(var aSize: Integer); register;
begin
end;
{------------------------------------------------------------------------------}
procedure AfterMemoryPoolAlloc(aSize: Integer; var p: Pointer); register;
begin
end;
{------------------------------------------------------------------------------}
procedure BeforeMemoryPoolDispose(var p: Pointer); register;
begin
end;
{==============================================================================}
exports
LoadMe,
BeforeGetMem,
AfterGetMem,
BeforeFreeMem,
BeforeReallocMem,
AfterReallocMem,
BeforeGetAllocSize,
AfterGetAllocSize,
AfterBlockPoolAlloc,
BeforeBlockPoolDispose,
BeforeGetPool,
AfterMemoryPoolAlloc,
BeforeMemoryPoolDispose;
begin
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -