CLocalHeap 类

此类使用 Win32 本地堆函数实现 IAtlMemMgr

重要

无法在 Windows 运行时中执行的应用程序中使用此类及其成员。

语法

class CLocalHeap : public IAtlMemMgr

成员

公共方法

名称 描述
CLocalHeap::Allocate 调用此方法来分配内存块。
CLocalHeap::Free 调用此方法以释放由该内存管理器分配的内存。
CLocalHeap::GetSize 调用此方法以获取此内存管理器分配的内存块的分配大小。
CLocalHeap::Reallocate 调用此方法以重新分配由该内存管理器分配的内存。

备注

CLocalHeap 使用 Win32 本地堆函数实现内存分配函数。

注意

本地堆函数比其他内存管理函数慢,并且未提供那么多功能。 因此,新的应用程序应使用堆函数CWin32Heap 类中提供了这些函数。

示例

请参阅 IAtlMemMgr 的示例。

继承层次结构

IAtlMemMgr

CLocalHeap

要求

标头:atlmem.h

CLocalHeap::Allocate

调用此方法来分配内存块。

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

参数

nBytes
新内存块中请求的字节数。

返回值

将指针返回到新分配内存块的起始位置。

备注

调用 CLocalHeap::FreeCLocalHeap::Reallocate 来释放由此方法分配的内存。

使用带 LMEM_FIXED 标志参数的 LocalAlloc 实现。

CLocalHeap::Free

调用此方法以释放由该内存管理器分配的内存。

virtual void Free(void* p) throw();

参数

p
指向此内存管理器以前分配的内存的指针。 NULL 是有效值,不执行任何操作。

备注

使用 LocalFree 实现。

CLocalHeap::GetSize

调用此方法以获取此内存管理器分配的内存块的分配大小。

virtual size_t GetSize(void* p) throw();

参数

p
指向此内存管理器以前分配的内存的指针。

返回值

返回分配的内存块的大小(以字节为单位)。

注解

使用 LocalSize 实现。

CLocalHeap::Reallocate

调用此方法以重新分配由该内存管理器分配的内存。

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

参数

p
指向此内存管理器以前分配的内存的指针。

nBytes
新内存块中请求的字节数。

返回值

将指针返回到新分配内存块的起始位置。

注解

调用 CLocalHeap::Free 来释放由此方法分配的内存。

使用 LocalReAlloc 实现。

另请参阅

类概述
CComHeap 类
CWin32Heap 类
CGlobalHeap 类
CCRTHeap 类
IAtlMemMgr 类