Bagikan melalui


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