Aracılığıyla paylaş


CGlobalHeap Sınıfı

Bu sınıf, Win32 genel yığın işlevlerini kullanarak IAtlMemMgr uygular.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

class CGlobalHeap : public IAtlMemMgr

Üyeler

Genel Yöntemler

Ad Tanım
CGlobalHeap::Allocate Bir bellek bloğu ayırmak için bu yöntemi çağırın.
CGlobalHeap::Free Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunu boşaltmak için bu yöntemi çağırın.
CGlobalHeap::GetSize Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunun ayrılmış boyutunu almak için bu yöntemi çağırın.
CGlobalHeap::Reallocate Bu bellek yöneticisi tarafından ayrılan belleği yeniden dağıtmak için bu yöntemi çağır.

Açıklamalar

CGlobalHeap Win32 genel yığın işlevlerini kullanarak bellek ayırma işlevlerini uygular.

Dekont

Genel yığın işlevleri diğer bellek yönetimi işlevlerinden daha yavaştır ve o kadar fazla özellik sağlamaz. Bu nedenle, yeni uygulamalar yığın işlevlerini kullanmalıdır. Bunlar CWin32Heap sınıfında kullanılabilir. Genel işlevler DDE ve pano işlevleri tarafından hala kullanılır.

Örnek

IAtlMemMgr örneğine bakın.

Devralma Hiyerarşisi

IAtlMemMgr

CGlobalHeap

Gereksinimler

Üst bilgi: atlmem.h

CGlobalHeap::Allocate

Bir bellek bloğu ayırmak için bu yöntemi çağırın.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parametreler

nBayt
Yeni bellek bloğunda istenen bayt sayısı.

İade Değeri

Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.

Açıklamalar

Bu yöntem tarafından ayrılan belleği boşaltmak için CGlobalHeap::Free veya CGlobalHeap::Reallocate öğesini çağırın.

GMEM_FIXED bayrak parametresiyle GlobalAlloc kullanılarak uygulanır.

CGlobalHeap::Free

Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunu boşaltmak için bu yöntemi çağırın.

virtual void Free(void* p) throw();

Parametreler

P
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi. NULL geçerli bir değerdir ve hiçbir şey yapmaz.

Açıklamalar

GlobalFree kullanılarak uygulanır.

CGlobalHeap::GetSize

Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunun ayrılmış boyutunu almak için bu yöntemi çağırın.

virtual size_t GetSize(void* p) throw();

Parametreler

P
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi.

İade Değeri

Ayrılan bellek bloğunun boyutunu bayt cinsinden döndürür.

Açıklamalar

GlobalSize kullanılarak uygulanır.

CGlobalHeap::Reallocate

Bu bellek yöneticisi tarafından ayrılan belleği yeniden dağıtmak için bu yöntemi çağır.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parametreler

P
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi.

nBayt
Yeni bellek bloğunda istenen bayt sayısı.

İade Değeri

Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.

Açıklamalar

Bu yöntem tarafından ayrılan belleği boşaltmak için CGlobalHeap::Free öğesini çağırın.

GlobalReAlloc kullanılarak uygulanır.

Ayrıca bkz.

Sınıfa Genel Bakış
CComHeap Sınıfı
CWin32Heap Sınıfı
CLocalHeap Sınıfı
CCRTHeap Sınıfı
IAtlMemMgr Sınıfı