共用方式為


CGlobalHeap 類別

這個類別會使用 Win32 全域堆積函式來實作 IAtlMemMgr

重要

這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。

語法

class CGlobalHeap : public IAtlMemMgr

成員

公用方法

名稱 描述
CGlobalHeap::Allocate 呼叫這個方法來配置記憶體區塊。
CGlobalHeap::Free 呼叫此方法以釋放此記憶體管理員所配置的記憶體區塊。
CGlobalHeap::GetSize 呼叫這個方法,以取得這個記憶體管理員所配置的記憶體區塊大小。
CGlobalHeap::Reallocate 呼叫這個方法來重新配置此記憶體管理員所配置的記憶體。

備註

CGlobalHeap 使用 Win32 全域堆積函式實作記憶體配置函式。

注意

全域堆積函式比其他記憶體管理功能慢,而且不提供許多功能。 因此,新的應用程式應該使用 堆積函式。 這些可在 CWin32Heap 類別中使用。 DDE 和剪貼簿函式仍會使用全域函式。

範例

請參閱 IAtlMemMgr範例。

繼承階層架構

IAtlMemMgr

CGlobalHeap

需求

標頭: atlmem.h

CGlobalHeap::Allocate

呼叫這個方法來配置記憶體區塊。

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

參數

nBytes
在新記憶體區塊中要求的位元組數目。

傳回值

傳回新配置記憶體區塊開頭的指標。

備註

呼叫 CGlobalHeap::FreeCGlobalHeap::Reallocate 以釋放此方法配置的記憶體。

使用 GlobalAlloc 搭配旗標參數GMEM_FIXED實作。

CGlobalHeap::Free

呼叫此方法以釋放此記憶體管理員所配置的記憶體區塊。

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

參數

p
此記憶體管理員先前所配置之記憶體的指標。 NULL 是有效的值,且不會執行任何動作。

備註

使用 GlobalFree 實作。

CGlobalHeap::GetSize

呼叫這個方法,以取得這個記憶體管理員所配置的記憶體區塊大小。

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

參數

p
此記憶體管理員先前所配置之記憶體的指標。

傳回值

以位元組為單位傳回配置記憶體區塊的大小。

備註

使用 GlobalSize 實作

CGlobalHeap::Reallocate

呼叫這個方法來重新配置此記憶體管理員所配置的記憶體。

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

參數

p
此記憶體管理員先前所配置之記憶體的指標。

nBytes
在新記憶體區塊中要求的位元組數目。

傳回值

傳回新配置記憶體區塊開頭的指標。

備註

呼叫 CGlobalHeap::Free 以釋放此方法所配置的記憶體。

使用 GlobalReAlloc 實作。

另請參閱

類別概觀
CComHeap 類別
CWin32Heap 類別
CLocalHeap 類別
CCRTHeap 類別
IAtlMemMgr 類別