Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sınıf, COM bellek ayırma işlevlerini kullanarak uygular IAtlMemMgr .
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CComHeap : public IAtlMemMgr
Üyeler
Genel yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CComHeap::Allocate |
Bir bellek bloğu ayırmak için bu yöntemi çağırın. |
CComHeap::Free |
Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunu boşaltmak için bu yöntemi çağırın. |
CComHeap::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. |
CComHeap::Reallocate |
Bu bellek yöneticisi tarafından ayrılan belleği yeniden dağıtmak için bu yöntemi çağır. |
Açıklamalar
CComHeap, CoTaskMemFree, IMalloc::GetSizeve CoTaskMemReallocgibi CoTaskMemAllocCOM ayırma işlevlerini kullanarak bellek ayırma işlevlerini uygular. Ayrılabilecek en fazla bellek miktarı (2147483647) bayta eşittir INT_MAX .
Örnek
örneğine IAtlMemMgrbakın.
Devralma hiyerarşisi
IAtlMemMgr
CComHeap
Gereksinimler
Üst bilgi: ATLComMem.h
CComHeap::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
nBytes
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 veya CComHeap::Reallocate öğesini çağırınCComHeap::Free.
kullanılarak CoTaskMemAllocuygulanır.
CComHeap::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
kullanılarak CoTaskMemFreeuygulanır.
CComHeap::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
kullanılarak IMalloc::GetSizeuygulanır.
CComHeap::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.
nBytes
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 çağrısı CComHeap::Free .
kullanılarak CoTaskMemReallocuygulanır.
Ayrıca bkz.
DynamicConsumer Örneği
Sınıfa Genel Bakış
CWin32Heap Sınıf
CLocalHeap Sınıf
CGlobalHeap Sınıf
CCRTHeap Sınıf
IAtlMemMgr Sınıf