Aracılığıyla paylaş


IAtlStringMgr Sınıfı

Bu sınıf bir CStringT bellek yöneticisi arabirimini temsil eder.

Sözdizimi

__interface IAtlStringMgr

Üyeler

Yöntemler

Ad Tanım
Ayırmak Yeni bir dize veri yapısı ayırmak için bu yöntemi çağır.
Clone Başka bir örneğiyle kullanılmak üzere yeni bir dize yöneticisine işaretçi döndürmek için bu yöntemi çağırın CSimpleStringT.
Ücretsiz Dize veri yapısını boşaltmak için bu yöntemi çağır.
GetNilString Boş dize nesneleri tarafından kullanılan nesneye CStringData bir işaretçi döndürür.
Yeniden ayırma Bir dize veri yapısını yeniden dağıtmak için bu yöntemi çağır.

Açıklamalar

Bu arabirim, MFC'ye bağımsız dize sınıfları tarafından kullanılan belleği yönetir; CSimpleStringT, CStringT ve CFixedStringT gibi.

Bu sınıfı, özel dize sınıfınız için özel bir bellek yöneticisi uygulamak için de kullanabilirsiniz. Daha fazla bilgi için bkz . Bellek Yönetimi ve CStringT.

Gereksinimler

Üst bilgi: atlsimpstr.h

IAtlStringMgr::Allocate

Yeni bir dize veri yapısı ayırır.

CStringData* Allocate(int nAllocLength,int nCharSize) throw();

Parametreler

nAllocLength
Yeni bellek bloğundaki karakter sayısı.

nCharSize
Dize yöneticisi tarafından kullanılan karakter türünün boyutu (bayt cinsinden).

İade Değeri

Yeni ayrılan bellek bloğuna bir işaretçi döndürür.

Dekont

Özel durum oluşturarak başarısız ayırmaya işaret etmeyin. Bunun yerine, null döndürülerek başarısız ayırmaya işaret edilmelidir.

Açıklamalar

Bu yöntem tarafından ayrılan belleği boşaltmak için IAtlStringMgr::Free veya IAtlStringMgr::ReAllocate çağırın.

Dekont

Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.

IAtlStringMgr::Clone

Başka bir örneğiyle kullanılmak üzere yeni dize yöneticisine CSimpleStringTyönelik bir işaretçi döndürür.

IAtlStringMgr* Clone() throw();

İade Değeri

Nesnenin bir kopyasını IAtlStringMgr döndürür.

Açıklamalar

Yeni bir dize için bir dize yöneticisi gerektiğinde genellikle çerçeve tarafından çağrılır. Çoğu durumda işaretçi this döndürülür.

Ancak, bellek yöneticisinin birden çok örneği CSimpleStringTtarafından kullanılmasını desteklemiyorsa, paylaşılabilir dize yöneticisine yönelik bir işaretçi döndürülmelidir.

Dekont

Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.

IAtlStringMgr::Free

Bir dize veri yapısı serbesttir.

void Free(CStringData* pData) throw();

Parametreler

Pdata
Boşaltılacak bellek bloğuna bir işaretçi.

Açıklamalar

Daha önce Ayırma veya Yeniden Ayırma tarafından ayrılan belirtilen bellek bloğunu serbest bırakır.

Dekont

Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.

IAtlStringMgr::GetNilString

Boş bir dize için dize veri yapısına yönelik bir işaretçi döndürür.

CStringData* GetNilString() throw();

İade Değeri

Boş bir dizeyi CStringData temsil etmek için kullanılan nesneye yönelik bir işaretçi.

Açıklamalar

Boş bir dizenin gösterimini döndürmek için bu işlevi çağırın.

Dekont

Özel dize yöneticisini uygularken bu işlev hiçbir zaman başarısız olmamalıdır. Dize yöneticisi sınıfına bir örneğini CNilStringData ekleyerek ve bu örneğe bir işaretçi döndürerek bunu sağlayabilirsiniz.

Dekont

Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.

IAtlStringMgr::Reallocate

Bir dize veri yapısını yeniden ayırır.

CStringData* Reallocate(
    CStringData* pData,
    int nAllocLength,
    int nCharSize) throw();

Parametreler

Pdata
Bu bellek yöneticisi tarafından daha önce ayrılan belleğin işaretçisi.

nAllocLength
Yeni bellek bloğundaki karakter sayısı.

nCharSize
Dize yöneticisi tarafından kullanılan karakter türünün boyutu (bayt cinsinden).

İade Değeri

Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.

Açıklamalar

pData tarafından belirtilen mevcut bellek bloğunu yeniden boyutlandırmak için bu işlevi çağırın.

Bu yöntem tarafından ayrılan belleği boşaltmak için IAtlStringMgr::Free öğesini çağırın.

Dekont

Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.

Ayrıca bkz.

Hiyerarşi Grafiği
ATL/MFC Paylaşılan Sınıfları