CComHeap
Kelas
Kelas ini mengimplementasikan IAtlMemMgr
penggunaan fungsi alokasi memori COM.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CComHeap : public IAtlMemMgr
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
CComHeap::Allocate |
Panggil metode ini untuk mengalokasikan blok memori. |
CComHeap::Free |
Panggil metode ini untuk membebaskan blok memori yang dialokasikan oleh manajer memori ini. |
CComHeap::GetSize |
Panggil metode ini untuk mendapatkan ukuran blok memori yang dialokasikan oleh manajer memori ini. |
CComHeap::Reallocate |
Panggil metode ini untuk merealokasi memori yang dialokasikan oleh manajer memori ini. |
Keterangan
CComHeap
menerapkan fungsi alokasi memori menggunakan fungsi alokasi COM, termasuk CoTaskMemAlloc
, , CoTaskMemFree
IMalloc::GetSize
, dan CoTaskMemRealloc
. Jumlah maksimum memori yang dapat dialokasikan sama dengan INT_MAX
(2147483647) byte.
Contoh
Lihat contoh untuk IAtlMemMgr
.
Hierarki Warisan
IAtlMemMgr
CComHeap
Persyaratan
Header: ATLComMem.h
CComHeap::Alokasikan
Panggil metode ini untuk mengalokasikan blok memori.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parameter
nBytes
Jumlah byte yang diminta di blok memori baru.
Nilai hasil
Mengembalikan penunjuk ke awal blok memori yang baru dialokasikan.
Keterangan
Panggil CComHeap::Free
atau CComHeap::Reallocate
untuk membebaskan memori yang dialokasikan oleh metode ini.
Diimplementasikan menggunakan CoTaskMemAlloc
.
CComHeap::Free
Panggil metode ini untuk membebaskan blok memori yang dialokasikan oleh manajer memori ini.
virtual void Free(void* p) throw();
Parameter
p
Pointer ke memori yang sebelumnya dialokasikan oleh manajer memori ini. NULL adalah nilai yang valid dan tidak melakukan apa pun.
Keterangan
Diimplementasikan menggunakan CoTaskMemFree
.
CComHeap::GetSize
Panggil metode ini untuk mendapatkan ukuran blok memori yang dialokasikan oleh manajer memori ini.
virtual size_t GetSize(void* p) throw();
Parameter
p
Pointer ke memori yang sebelumnya dialokasikan oleh manajer memori ini.
Nilai hasil
Mengembalikan ukuran blok memori yang dialokasikan dalam byte.
Keterangan
Diimplementasikan menggunakan IMalloc::GetSize
.
CComHeap::Reallocate
Panggil metode ini untuk merealokasi memori yang dialokasikan oleh manajer memori ini.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
Parameter
p
Pointer ke memori yang sebelumnya dialokasikan oleh manajer memori ini.
nBytes
Jumlah byte yang diminta di blok memori baru.
Nilai hasil
Mengembalikan penunjuk ke awal blok memori yang baru dialokasikan.
Keterangan
Panggil CComHeap::Free
untuk membebaskan memori yang dialokasikan oleh metode ini.
Diimplementasikan menggunakan CoTaskMemRealloc
.
Lihat juga
Sampel DynamicConsumer
Gambaran Umum Kelas
CWin32Heap
Kelas
CLocalHeap
Kelas
CGlobalHeap
Kelas
CCRTHeap
Kelas
IAtlMemMgr
Kelas