CComHeap
Sınıfı
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
Ad | Tanım |
---|---|
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::GetSize
ve CoTaskMemRealloc
gibi CoTaskMemAlloc
COM 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 IAtlMemMgr
bakı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 CoTaskMemAlloc
uygulanı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 CoTaskMemFree
uygulanı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::GetSize
uygulanı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 CoTaskMemRealloc
uygulanı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ı
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