Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
CComHeapmenerapkan fungsi alokasi memori menggunakan fungsi alokasi COM, termasuk CoTaskMemAlloc, , CoTaskMemFreeIMalloc::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