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.
class CLocalHeap : public IAtlMemMgr
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. |
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.
IAtlMemMgr örneğine bakın.
IAtlMemMgr
CLocalHeap
Üst bilgi: atlmem.h
Bir bellek bloğu ayırmak için bu yöntemi çağırın.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
nBayt
Yeni bellek bloğunda istenen bayt sayısı.
Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.
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.
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();
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.
LocalFree kullanılarak uygulanır.
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();
p
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi.
Ayrılan bellek bloğunun boyutunu bayt cinsinden döndürür.
LocalSize kullanılarak uygulanır.
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();
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ı.
Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.
Bu yöntem tarafından ayrılan belleği boşaltmak için CLocalHeap::Free öğesini çağırın.
LocalReAlloc kullanılarak uygulanır.
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ı