⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nexusmm3hook.dpr.svn-base

📁 Nexus is a Memory Manager for Delphi 7. Its usefull for all application what is work with large amou
💻 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 + -