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 tabanlı bellek yordamlarını kullanan akıllı işaretçi sınıfları için bir temel sağlar.
Sözdizimi
template <class T>
class CComPtrBase
Parametreler
T
Akıllı işaretçi tarafından başvurulacak nesne türü.
Üyeler
Ortak oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CComPtrBase::~CComPtrBase |
Yok edici. |
Genel yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CComPtrBase::Advise |
'nin bağlantı noktası ile istemcinin CComPtrBasehavuzu arasında bağlantı oluşturmak için bu yöntemi çağırın. |
CComPtrBase::Attach |
Mevcut bir işaretçinin sahipliğini almak için bu yöntemi çağırın. |
CComPtrBase::CoCreateInstance |
Belirtilen Bir Sınıf Kimliği veya Program Kimliği ile ilişkilendirilmiş sınıfın nesnesini oluşturmak için bu yöntemi çağırın. |
CComPtrBase::CopyTo |
İşaretçiyi CComPtrBase başka bir işaretçi değişkenine kopyalamak için bu yöntemi çağırın. |
CComPtrBase::Detach |
Bir işaretçinin sahipliğini serbest bırakmak için bu yöntemi çağırın. |
CComPtrBase::IsEqualObject |
Belirtilen IUnknown nesnenin nesneyle ilişkili aynı nesneye işaretlenip işaret etmediğini denetlemek için bu yöntemi çağırın CComPtrBase . |
CComPtrBase::QueryInterface |
Belirtilen arabirime işaretçi döndürmek için bu yöntemi çağır. |
CComPtrBase::Release |
Arabirimini serbest bırakmak için bu yöntemi çağırın. |
CComPtrBase::SetSite |
Nesnenin sitesini üst nesnenin sitesine CComPtrBase ayarlamak için IUnknown bu yöntemi çağırın. |
Genel işleçler
| Veri Akışı Adı | Açıklama |
|---|---|
CComPtrBase::operator T* |
Atama işleci. |
CComPtrBase::operator ! |
NOT işleci. |
CComPtrBase::operator & |
İşlecin adresi & . |
CComPtrBase::operator * |
İşaretçi işleci * . |
CComPtrBase::operator < |
Less-than işleci. |
CComPtrBase::operator == |
Eşitlik işleci. |
CComPtrBase::operator -> |
Üyelere işaretçi işleci. |
Genel veri üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
CComPtrBase::p |
İşaretçi veri üye değişkeni. |
Açıklamalar
Bu sınıf, ve CComPtrgibi CComQIPtr COM bellek yönetimi yordamlarını kullanan diğer akıllı işaretçiler için temel sağlar. Türetilmiş sınıflar kendi oluşturucularını ve işleçlerini ekler, ancak tarafından CComPtrBasesağlanan yöntemleri kullanır.
Gereksinimler
Üst bilgi: atlcomcli.h
CComPtrBase::Advise
'nin bağlantı noktası ile istemcinin CComPtrBasehavuzu arasında bağlantı oluşturmak için bu yöntemi çağırın.
HRESULT Advise(
IUnknown* pUnk,
const IID& iid,
LPDWORD pdw) throw();
Parametreler
pUnk
İstemcinin işaretçisi IUnknown.
iid
Bağlantı noktasının GUID'i. Bu GUID genellikle bağlantı noktası tarafından yönetilen giden arabirimle aynıdır.
pdw
Bağlantıyı benzersiz olarak tanımlayan tanımlama bilgisinin işaretçisi.
Dönüş değeri
Başarılı olduğunda veya hatada bir hata HRESULT döndürürS_OK.
Açıklamalar
Daha fazla bilgi için bkz. AtlAdvise.
CComPtrBase::Attach
Mevcut bir işaretçinin sahipliğini almak için bu yöntemi çağırın.
void Attach(T* p2) throw();
Parametreler
p2
CComPtrBase Nesnesi bu işaretçinin sahipliğini alır.
Açıklamalar
Attachmevcut CComPtrBase::p üye değişkenini çağırır CComPtrBase::Release ve sonra öğesine CComPtrBase::patarp2. Bir CComPtrBase nesne işaretçinin sahipliğini aldığında, işaretçiyi ve nesnedeki başvuru sayısı 0'a giderse ayrılan verileri silen işaretçiyi otomatik olarak çağırır Release .
CComPtrBase::~CComPtrBase
Yok edici.
~CComPtrBase() throw();
Açıklamalar
tarafından CComPtrBaseişaret edilen arabirimi serbest bırakır.
CComPtrBase::CoCreateInstance
Belirtilen Bir Sınıf Kimliği veya Program Kimliği ile ilişkilendirilmiş sınıfın nesnesini oluşturmak için bu yöntemi çağırın.
HRESULT CoCreateInstance(
LPCOLESTR szProgID,
LPUNKNOWN pUnkOuter = NULL,
DWORD dwClsContext = CLSCTX_ALL) throw();
HRESULT CoCreateInstance(
REFCLSID rclsid,
LPUNKNOWN pUnkOuter = NULL,
DWORD dwClsContext = CLSCTX_ALL) throw();
Parametreler
szProgID
CLSID'yi kurtarmak için kullanılan bir ProgID işaretçisi.
pUnkOuter
NULL ise, nesnenin bir toplamanın parçası olarak oluşturulmadığını gösterir. NULL değilse, toplama nesnesinin IUnknown arabirimine (denetim) IUnknownyönelik bir işaretçidir.
dwClsContext
Yeni oluşturulan nesneyi yöneten kodun çalıştırılacağı bağlam.
rclsid
Nesneyi oluşturmak için kullanılacak veri ve kodla ilişkili CLSID.
Dönüş değeri
Başarı veya REGDB_E_CLASSNOTREG, CLASS_E_NOAGGREGATION, CO_E_CLASSSTRINGveya E_NOINTERFACE hata durumunda döndürürS_OK. Bu hataların açıklaması için ve CLSIDFromProgID bölümüne bakınCoCreateClassInstance.
Açıklamalar
Yöntemin ilk biçimi çağrılırsa, CLSIDFromProgID CLSID'yi kurtarmak için kullanılır. Her iki form da öğesini çağırır CoCreateClassInstance.
Hata ayıklama derlemelerinde, NULL'a eşit değilse CComPtrBase::p bir onaylama hatası oluşur.
CComPtrBase::CopyTo
İşaretçiyi CComPtrBase başka bir işaretçi değişkenine kopyalamak için bu yöntemi çağırın.
HRESULT CopyTo(T** ppT) throw();
Parametreler
ppT
İşaretçiyi alacak değişkenin CComPtrBase adresi.
Dönüş değeri
Başarılı olduğunda, E_POINTER başarısız olduğunda döndürürS_OK.
Açıklamalar
İşaretçiyi CComPtrBase öğesine ppTkopyalar. Üye değişkeninde CComPtrBase::p başvuru sayısı artırılır.
NULL'a eşitse ppT bir hata HRESULT döndürülür. Hata ayıklama derlemelerinde, NULL'a eşitse ppT bir onaylama hatası oluşur.
CComPtrBase::Detach
Bir işaretçinin sahipliğini serbest bırakmak için bu yöntemi çağırın.
T* Detach() throw();
Dönüş değeri
İşaretçinin bir kopyasını döndürür.
Açıklamalar
bir işaretçinin sahipliğini serbest bırakır, veri üyesi değişkenini CComPtrBase::p NULL olarak ayarlar ve işaretçinin bir kopyasını döndürür.
CComPtrBase::IsEqualObject
Belirtilen IUnknown nesnenin nesneyle ilişkili aynı nesneye işaretlenip işaret etmediğini denetlemek için bu yöntemi çağırın CComPtrBase .
bool IsEqualObject(IUnknown* pOther) throw();
Parametreler
pOther
IUnknown * Karşılaştıracak.
Dönüş değeri
Nesneler özdeşse true, aksi takdirde false döndürür.
CComPtrBase::operator !
NOT işleci.
bool operator!() const throw();
Dönüş değeri
İşaretçi NULL'a eşitse CComHeapPtr true, aksi takdirde false döndürür.
CComPtrBase::operator &
İşlecin adresi & .
T** operator&() throw();
Dönüş değeri
Nesnenin işaret ettiği nesnenin CComPtrBase adresini döndürür.
CComPtrBase::operator *
İşaretçi işleci * .
T& operator*() const throw();
Dönüş değeri
değerini CComPtrBase::p, yani nesnesi tarafından başvuruda bulunan nesnenin işaretçisini CComPtrBase döndürür.
Hata ayıklama derlenirse, NULL'a eşit değilse CComPtrBase::p bir onaylama hatası oluşur.
CComPtrBase::operator ==
Eşitlik işleci.
bool operator== (T* pT) const throw();
Parametreler
pT
Nesne işaretçisi.
Dönüş değeri
true döndürür ve pT aynı nesneye işaret ederse CComPtrBase false değerini döndürür.
CComPtrBase::operator ->
İşaretçiden üyeye işleci.
_NoAddRefReleaseOnCComPtr<T>* operator->() const throw();
Dönüş değeri
Veri üyesi değişkeninin CComPtrBase::p değerini döndürür.
Açıklamalar
Nesne tarafından CComPtrBase işaret edilen bir sınıftaki bir yöntemi çağırmak için bu işleci kullanın. Hata ayıklama derlemelerinde, veri üyesi NULL'a işaret ederse CComPtrBase onay hatası oluşur.
CComPtrBase::operator <
Less-than işleci.
bool operator<(T* pT) const throw();
Parametreler
pT
Nesne işaretçisi.
Dönüş değeri
Geçerli nesne tarafından yönetilen işaretçi, karşılaştırıldığı işaretçiden küçükse true döndürür.
CComPtrBase::operator T*
Atama işleci.
operator T*() const throw();
Açıklamalar
Sınıf şablonunda tanımlanan nesne veri türüne bir işaretçi döndürür.
CComPtrBase::p
İşaretçi veri üye değişkeni.
T* p;
Açıklamalar
Bu üye değişkeni işaretçi bilgilerini tutar.
CComPtrBase::QueryInterface
Belirtilen arabirime işaretçi döndürmek için bu yöntemi çağır.
template <class Q> HRESULT QueryInterface(Q
** pp) const throw();
Parametreler
Q
Arabirim işaretçisi gereken nesne türü.
pp
İstenen arabirim işaretçisini alan çıkış değişkeninin adresi.
Dönüş değeri
Başarılı veya E_NOINTERFACE başarısız olduğunda döndürürS_OK.
Açıklamalar
Bu yöntem çağırır IUnknown::QueryInterface.
Hata ayıklama derlemelerinde, NULL'a eşit değilse pp bir onaylama hatası oluşur.
CComPtrBase::Release
Arabirimini serbest bırakmak için bu yöntemi çağırın.
void Release() throw();
Açıklamalar
Arabirim serbest bırakılır ve CComPtrBase::p NULL olarak ayarlanır.
CComPtrBase::SetSite
Nesnenin sitesini üst nesnenin sitesine CComPtrBase ayarlamak için IUnknown bu yöntemi çağırın.
HRESULT SetSite(IUnknown* punkParent) throw();
Parametreler
punkParent
Üst öğesinin IUnknown arabirimine ilişkin bir işaretçi.
Dönüş değeri
Başarılı olduğunda veya hatada bir hata HRESULT döndürürS_OK.
Açıklamalar
Bu yöntem çağırır AtlSetChildSite.