Aracılığıyla paylaş


CLocalHeap Sınıfı

Bu sınıf, Win32 yerel 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 CLocalHeap : public IAtlMemMgr

Üyeler

Genel Yöntemler

Veri Akışı Adı Açıklama
CLocalHeap::Allocate Bir bellek bloğu ayırmak için bu yöntemi çağırın.
CLocalHeap::Free Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunu boşaltmak için bu yöntemi çağırın.
CLocalHeap::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.
CLocalHeap::Reallocate Bu bellek yöneticisi tarafından ayrılan belleği yeniden dağıtmak için bu yöntemi çağır.

Açıklamalar

CLocalHeap Win32 yerel yığın işlevlerini kullanarak bellek ayırma işlevlerini uygular.

Not

Yerel 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.

Örnek

IAtlMemMgr örneğine bakın.

Devralma Hiyerarşisi

IAtlMemMgr

CLocalHeap

Gereksinimler

Üst bilgi: atlmem.h

CLocalHeap::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ı.

Dönüş 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 CLocalHeap::Free veya CLocalHeap::Reallocate öğesini çağırın.

LMEM_FIXED bayrak parametresiyle LocalAlloc kullanılarak uygulanır.

CLocalHeap::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

LocalFree kullanılarak uygulanır.

CLocalHeap::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.

Dönüş Değeri

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

Açıklamalar

LocalSize kullanılarak uygulanır.

CLocalHeap::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ı.

Dönüş 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 CLocalHeap::Free öğesini çağırın.

LocalReAlloc kullanılarak uygulanır.

Ayrıca bkz.

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