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ı
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin