CComHeap
類別
這個類別會使用 COM 記憶體配置函式來實作 IAtlMemMgr
。
重要
這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。
語法
class CComHeap : public IAtlMemMgr
成員
公用方法
名稱 | 描述 |
---|---|
CComHeap::Allocate |
呼叫這個方法來配置記憶體區塊。 |
CComHeap::Free |
呼叫此方法以釋放此記憶體管理員所配置的記憶體區塊。 |
CComHeap::GetSize |
呼叫這個方法,以取得這個記憶體管理員所配置的記憶體區塊大小。 |
CComHeap::Reallocate |
呼叫這個方法來重新配置此記憶體管理員所配置的記憶體。 |
備註
CComHeap
使用 COM 設定函式實作記憶體設定函式,包括CoTaskMemAlloc
、 IMalloc::GetSize
CoTaskMemFree
和 CoTaskMemRealloc
。 可配置的記憶體數量上限等於 INT_MAX
(2147483647) 個字節。
範例
請參閱 IAtlMemMgr
的範例。
繼承階層
IAtlMemMgr
CComHeap
需求
標頭: ATLComMem.h
CComHeap::Allocate
呼叫這個方法來配置記憶體區塊。
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
參數
nBytes
在新記憶體區塊中要求的位元組數目。
傳回值
傳回新配置記憶體區塊開頭的指標。
備註
呼叫 CComHeap::Free
或 CComHeap::Reallocate
以釋放這個方法所配置的記憶體。
使用 實作 CoTaskMemAlloc
。
CComHeap::Free
呼叫此方法以釋放此記憶體管理員所配置的記憶體區塊。
virtual void Free(void* p) throw();
參數
p
此記憶體管理員先前所配置之記憶體的指標。 NULL 是有效的值,且不會執行任何動作。
備註
使用 實作 CoTaskMemFree
。
CComHeap::GetSize
呼叫這個方法,以取得這個記憶體管理員所配置的記憶體區塊大小。
virtual size_t GetSize(void* p) throw();
參數
p
此記憶體管理員先前所配置之記憶體的指標。
傳回值
以位元組為單位傳回配置記憶體區塊的大小。
備註
使用 實作 IMalloc::GetSize
。
CComHeap::Reallocate
呼叫這個方法來重新配置此記憶體管理員所配置的記憶體。
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
參數
p
此記憶體管理員先前所配置之記憶體的指標。
nBytes
在新記憶體區塊中要求的位元組數目。
傳回值
傳回新配置記憶體區塊開頭的指標。
備註
呼叫 CComHeap::Free
以釋放這個方法配置的記憶體。
使用 實作 CoTaskMemRealloc
。
另請參閱
DynamicConsumer 範例
類別概觀
CWin32Heap
類
CLocalHeap
類
CGlobalHeap
類
CCRTHeap
類
IAtlMemMgr
類