Kelas CGlobalHeap
Kelas ini mengimplementasikan IAtlMemMgr menggunakan fungsi timbunan global Win32.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CGlobalHeap : public IAtlMemMgr
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
CGlobalHeap::Alokasikan | Panggil metode ini untuk mengalokasikan blok memori. |
CGlobalHeap::Free | Panggil metode ini untuk membebaskan blok memori yang dialokasikan oleh manajer memori ini. |
CglobalHeap::GetSize | Panggil metode ini untuk mendapatkan ukuran blok memori yang dialokasikan oleh manajer memori ini. |
CGlobalHeap::Reallocate | Panggil metode ini untuk merealokasi memori yang dialokasikan oleh manajer memori ini. |
Keterangan
CGlobalHeap
mengimplementasikan fungsi alokasi memori menggunakan fungsi timbunan global Win32.
Catatan
Fungsi timbunan global lebih lambat daripada fungsi manajemen memori lainnya dan tidak menyediakan fitur sebanyak mungkin. Oleh karena itu, aplikasi baru harus menggunakan fungsi timbunan. Ini tersedia di kelas CWin32Heap . Fungsi global masih digunakan oleh DDE dan fungsi clipboard.
Contoh
Lihat contoh untuk IAtlMemMgr.
Hierarki Warisan
IAtlMemMgr
CGlobalHeap
Persyaratan
Header: atlmem.h
CGlobalHeap::Alokasikan
Panggil metode ini untuk mengalokasikan blok memori.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parameter
nByte
Jumlah byte yang diminta di blok memori baru.
Tampilkan Nilai
Mengembalikan penunjuk ke awal blok memori yang baru dialokasikan.
Keterangan
Panggil CGlobalHeap::Free atau CGlobalHeap::Reallocate untuk membebaskan memori yang dialokasikan oleh metode ini.
Diimplementasikan menggunakan GlobalAlloc dengan parameter bendera GMEM_FIXED.
CGlobalHeap::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 GlobalFree.
CglobalHeap::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.
Tampilkan Nilai
Mengembalikan ukuran blok memori yang dialokasikan dalam byte.
Keterangan
Diimplementasikan menggunakan GlobalSize.
CGlobalHeap::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.
nByte
Jumlah byte yang diminta di blok memori baru.
Tampilkan Nilai
Mengembalikan penunjuk ke awal blok memori yang baru dialokasikan.
Keterangan
Panggil CGlobalHeap::Free untuk membebaskan memori yang dialokasikan oleh metode ini.
Diimplementasikan menggunakan GlobalReAlloc.
Lihat juga
Gambaran Umum Kelas
Kelas CComHeap
Kelas CWin32Heap
Kelas CLocalHeap
Kelas CCRTHeap
Kelas IAtlMemMgr