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ı