Aracılığıyla paylaş


CComVariant sınıfı

Uyarı

Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

Bu sınıf türü kaydırarak VARIANT depolanan veri türünü belirten bir üye sağlar.

Sözdizimi

class CComVariant : public tagVARIANT

Üyeler

Ortak oluşturucular

Veri Akışı Adı Açıklama
CComVariant::CComVariant Oluşturucu.
CComVariant::~CComVariant Yok edici.

Genel yöntemler

Veri Akışı Adı Açıklama
CComVariant::Attach Nesnesine VARIANT bir CComVariant ekler.
CComVariant::ChangeType CComVariant Nesneyi yeni bir türe dönüştürür.
CComVariant::Clear CComVariant Nesneyi temizler.
CComVariant::Copy nesnesine VARIANT kopyalarCComVariant.
CComVariant::CopyTo Nesnenin CComVariant içeriğini kopyalar.
CComVariant::Detach Temel alınanı VARIANT nesneden CComVariant ayırır.
CComVariant::GetSize Nesnenin içeriğinin CComVariant bayt sayısı cinsinden boyutu döndürür.
CComVariant::ReadFromStream Bir akıştan bir VARIANT yükler.
CComVariant::SetByRef CComVariant nesnesini başlatır ve üyesini vt olarak VT_BYREFayarlar.
CComVariant::WriteToStream Temel alınanı VARIANT bir akışa kaydeder.

Genel işleçler

Operator Açıklama
CComVariant::operator < Nesnenin belirtilen CComVariantdeğerinden VARIANT küçük olup olmadığını gösterir.
CComVariant::operator > Nesnenin belirtilen CComVariantdeğerinden VARIANT büyük olup olmadığını gösterir.
CComVariant::operator != Nesnenin CComVariant belirtilen VARIANTdeğerine eşit olup olmadığını gösterir.
CComVariant::operator = Nesneye CComVariant bir değer atar.
CComVariant::operator == Nesnenin CComVariant belirtilen VARIANTdeğerine eşit olup olmadığını gösterir.

Açıklamalar

CComVariant VARIANT bir birleşimden ve birleşimde depolanan verilerin türünü belirten bir üyeden oluşan ve VARIANTARG türünü sarmalar. VARIANTs genellikle Otomasyon'da kullanılır.

CComVariant türünden VARIANT türetilir, böylece herhangi bir VARIANT yerde kullanılabilir. Örneğin, bir öğesinin türünü V_VT ayıklamak için makroyu CComVariant kullanabilir veya bir ile vtolduğu gibi üyeye VARIANT doğrudan erişebilirsiniz.

Devralma hiyerarşisi

tagVARIANT
 └ CComVariant

Gereksinimler

Üstbilgi:atlcomcli.h

CComVariant::Attach

Nesnenin geçerli içeriğini CComVariant güvenli bir şekilde temizler, içeriğini pSrc bu nesneye kopyalar, ardından değişken türünü pSrc olarak VT_EMPTYayarlar.

HRESULT Attach(VARIANT* pSrc);

Parametreler

pSrc
[in] VARIANT Nesneye eklenecek öğesini gösterir.

Dönüş değeri

Standart HRESULT bir değer.

Açıklamalar

tarafından pSrc tutulan verilerin sahipliği nesneye CComVariant aktarılır.

CComVariant::CComVariant

Her oluşturucu, Win32 işlevini çağırarak CComVariant veya nesnenin değerini ve türünü geçirilen parametrelere göre ayarlayarak nesnenin güvenli bir şekilde başlatılmasını VariantInit işler.

CComVariant() throw();
CComVariant(const CComVariant& varSrc);
CComVariant(const VARIANT& varSrc);
CComVariant(LPCOLESTR lpszSrc);
CComVariant(LPCSTR lpszSrc);
CComVariant(bool bSrc);
CComVariant(BYTE nSrc) throw();
CComVariant(int nSrc, VARTYPE vtSrc = VT_I4) throw();
CComVariant(unsigned int  nSrc, VARTYPE vtSrc = VT_UI4) throw();
CComVariant(shor  nSrc) throw();
CComVariant(unsigned short nSrc) throw();
CComVariant(long  nSrc, VARTYPE vtSrc = VT_I4) throw();
CComVariant(unsigned long  nSrc) throw();
CComVariant(LONGLONG  nSrc) throw();
CComVariant(ULONGLONG  nSrc) throw();
CComVariant(float  fltSrc) throw();
CComVariant(double  dblSrc, VARTYPE vtSrc = VT_R8) throw();
CComVariant(CY  cySrc) throw();
CComVariant(IDispatch* pSrc) throw();
CComVariant(IUnknown* pSrc) throw();
CComVariant(const SAFEARRAY* pSrc);
CComVariant(char  cSrc) throw();
CComVariant(const CComBSTR& bstrSrc);

Parametreler

varSrc
[in] CComVariant veya VARIANT nesnesini başlatmak CComVariant için kullanılır. Kaynak değişkenin içeriği dönüştürme olmadan hedefe kopyalanır.

lpszSrc
[in] Nesneyi başlatmak CComVariant için kullanılan karakter dizesi. Oluşturucunun sürümüne LPCOLESTR sıfır sonlandırılan geniş (Unicode) karakter dizesini veya bir ANSI dizesini sürüme LPCSTR geçirebilirsiniz. Her iki durumda da, dize kullanılarak BSTRayrılmış bir Unicode'a SysAllocString dönüştürülür. Nesnenin CComVariant türü şeklindedir VT_BSTR.

bSrc
[in] bool nesnesini başlatmak CComVariant için kullanılır. Bağımsız bool değişken, depolanmadan önce öğesine VARIANT_BOOL dönüştürülür. Nesnenin CComVariant türü şeklindedir VT_BOOL.

nSrc
[in] intnesnesini BYTEshortlongLONGLONGULONGLONGunsigned shortunsigned longbaşlatmak unsigned int için kullanılan , veya .CComVariant Nesnenin CComVariant türü sırasıyla , VT_I4, VT_UI1, VT_I2, VT_I4, VT_I8, VT_UI8, VT_UI2veya VT_UI4şeklindedirVT_UI4.

vtSrc
[in] Değişkenin türü. İlk parametre olduğunda intgeçerli türler ve VT_I4olurVT_INT. İlk parametre olduğunda longgeçerli türler ve VT_I4olurVT_ERROR. İlk parametre olduğunda doublegeçerli türler ve VT_R8olurVT_DATE. İlk parametre olduğunda unsigned intgeçerli türler ve VT_UI4olurVT_UINT.

fltSrc
[in] float nesnesini başlatmak CComVariant için kullanılır. Nesnenin CComVariant türü şeklindedir VT_R4.

dblSrc
[in] double nesnesini başlatmak CComVariant için kullanılır. Nesnenin CComVariant türü şeklindedir VT_R8.

cySrc
[in] CY nesnesini başlatmak CComVariant için kullanılır. Nesnenin CComVariant türü şeklindedir VT_CY.

pSrc
[in] IDispatch Nesneyi başlatmak için kullanılan veya IUnknown işaretçisi CComVariant . AddRef , arabirim işaretçisinde çağrılır. Nesnenin CComVariant türü sırasıyla veya VT_DISPATCHşeklindedirVT_UNKNOWN.

Veya nesneyi SAFERRAY başlatmak CComVariant için kullanılan işaretçi. öğesinin bir SAFEARRAY kopyası nesnesinde CComVariant depolanır. Nesnenin CComVariant türü, ve SAFEARRAYöğesinin özgün türünün VT_ARRAY bir bileşimidir.

cSrc
[in] char nesnesini başlatmak CComVariant için kullanılır. Nesnenin CComVariant türü şeklindedir VT_I1.

bstrSrc
[in] BSTR nesnesini başlatmak CComVariant için kullanılır. Nesnenin CComVariant türü şeklindedir VT_BSTR.

Açıklamalar

Yıkıcı, öğesini çağırarak CComVariant::Cleartemizlemeyi yönetir.

CComVariant::~CComVariant

Yok edici.

~CComVariant() throw();

Açıklamalar

Bu yöntem, çağrılarak CComVariant::Cleartemizlemeyi yönetir.

CComVariant::ChangeType

CComVariant Nesneyi yeni bir türe dönüştürür.

HRESULT ChangeType(VARTYPE vtNew, const VARIANT* pSrc = NULL);

Parametreler

vtNew
[in] Nesne için CComVariant yeni tür.

pSrc
[in] Değeri yeni türe VARIANT dönüştürülen öğesinin işaretçisi. Varsayılan değer olan NULL, nesnenin CComVariant yerinde dönüştürüldüğü anlamına gelir.

Dönüş değeri

Standart HRESULT bir değer.

Açıklamalar

için pSrcChangeType bir değer geçirirseniz, dönüştürmenin kaynağı olarak bunu VARIANT kullanır. Aksi takdirde, CComVariant nesne kaynaktır.

CComVariant::Clear

CComVariant Win32 işlevini çağırarak VariantClear nesnesini temizler.

HRESULT Clear();

Dönüş değeri

Standart HRESULT bir değer.

Açıklamalar

Yıkıcı otomatik olarak öğesini çağırır Clear.

CComVariant::Copy

CComVariant Nesnesini serbest ve ardından belirtilen VARIANTöğesinin bir kopyasını atar.

HRESULT Copy(const VARIANT* pSrc);

Parametreler

pSrc
[in] Kopyalanacak öğesinin VARIANT işaretçisi.

Dönüş değeri

Standart HRESULT bir değer.

CComVariant::CopyTo

Nesnenin CComVariant içeriğini kopyalar.

HRESULT CopyTo(BSTR* pstrDest);

Parametreler

pstrDest
BSTR Nesnenin içeriğinin bir kopyasını alacak bir öğesine işaret ederCComVariant.

Dönüş değeri

Standart HRESULT bir değer.

Açıklamalar

CComVariant Nesnesi türünde VT_BSTRolmalıdır.

CComVariant::Detach

Temel alınan VARIANT öğesini nesneden CComVariant ayırır ve nesnenin türünü olarak VT_EMPTYayarlar.

HRESULT Detach(VARIANT* pDest);

Parametreler

pDest
[out] Nesnenin temel VARIANT alınan değerini döndürür.

Dönüş değeri

Standart HRESULT bir değer.

Açıklamalar

tarafından VARIANT başvuruda bulunan öğesinin pDest içeriği, çağıran CComVariant nesnenin değeri ve türü atanmadan önce otomatik olarak temizlenir.

CComVariant::GetSize

Basit-sabit boyutlu VARIANTs için, bu yöntem temel alınan veri türü artı sizeofdeğerini döndürürsizeof(VARTYPE).

ULONG GetSize() const;

Dönüş değeri

Nesnenin geçerli içeriğinin CComVariant bayt cinsinden boyutu.

Açıklamalar

VARIANT bir arabirim işaretçisi içeriyorsa, GetSize veya IPersistStreamiçin IPersistStreamInit sorgular. Başarılı olursa, dönüş değeri artı GetSizeMax ve sizeof(CLSID)tarafından sizeof(VARTYPE) döndürülen değerin düşük sıralı 32 bitidir. Arabirim işaretçisi iseNULL, GetSize artı sizeof(CLSID)döndürürsizeof(VARTYPE). Toplam boyut değerinden ULONG_MAXGetSize büyükse, hata belirten değerini döndürürsizeof(VARTYPE).

Diğer tüm durumlarda, geçerli VARIANTtüründen VT_BSTR geçici VARIANT bir zorlama yapılır. Bunun BSTR uzunluğu, dizenin uzunluğunun ve dizenin uzunluğunun yanı sıra karakterin NULL boyutu artı sizeof(VARTYPE)olarak hesaplanır. türüne VARIANT zorlama gerçekleştirilemiyorsa VARIANTVT_BSTRdöndürür GetSizesizeof(VARTYPE).

Bu yöntem tarafından döndürülen boyut, başarılı koşullar altında tarafından kullanılan bayt sayısıyla CComVariant::WriteToStream eşleşir.

CComVariant::operator =

Nesneye CComVariant bir değer ve karşılık gelen tür atar.

CComVariant& operator=(const CComVariant& varSrc);
CComVariant& operator=(const VARIANT& varSrc);
CComVariant& operator=(const CComBSTR& bstrSrc);
CComVariant& operator=(LPCOLESTR lpszSrc);
CComVariant& operator=(LPCSTR lpszSrc);
CComVariant& operator=(bool bSrc);
CComVariant& operator=(BYTE nSrc) throw();
CComVariant& operator=int nSrc) throw();
CComVariant& operator=(unsigned int nSrc) throw();
CComVariant& operator=(short nSrc) throw();
CComVariant& operator=(unsigned short nSrc) throw();
CComVariant& operator=(long nSrc) throw();
CComVariant& operator=(unsigned long nSrc) throw();
CComVariant& operator=(LONGLONG nSrc) throw();
CComVariant& operator=(ULONGLONG nSrc) throw();
CComVariant& operator=(float fltSrc) throw();
CComVariant& operator=(double dblSrc) throw();
CComVariant& operator=(CY cySrc) throw();
CComVariant& operator=(IDispatch* pSrc) throw();
CComVariant& operator=(IUnknown* pSrc) throw();
CComVariant& operator=(const SAFEARRAY* pSrc);
CComVariant& operator=(char cSrc) throw();

Parametreler

varSrc
[in] CComVariant nesnesine atanacak VARIANT veyaCComVariant. Kaynak değişkenin içeriği dönüştürme olmadan hedefe kopyalanır.

bstrSrc
[in] BSTR nesnesine atanacak CComVariant . Nesnenin CComVariant türü şeklindedir VT_BSTR.

lpszSrc
[in] Nesneye atanacak CComVariant karakter dizesi. sıfır sonlandırılan geniş (Unicode) karakter dizesini işlecin sürümüne LPCOLESTR veya ANSI dizesini sürüme LPCSTR geçirebilirsiniz. Her iki durumda da, dize kullanılarak BSTRayrılmış bir Unicode'a SysAllocString dönüştürülür. Nesnenin CComVariant türü şeklindedir VT_BSTR.

bSrc
[in] bool nesnesine atanacak CComVariant . Bağımsız bool değişken, depolanmadan önce öğesine VARIANT_BOOL dönüştürülür. Nesnenin CComVariant türü şeklindedir VT_BOOL.

nSrc
[in] intBYTEshortlongLONGLONGULONGLONGunsigned shortNesneye atanacak unsigned long , , unsigned intveya.CComVariant Nesnenin CComVariant türü sırasıyla , VT_I4, VT_UI1, VT_I2, VT_I4, VT_I8, VT_UI8, VT_UI2veya VT_UI4şeklindedirVT_UI4.

fltSrc
[in] float nesnesine atanacak CComVariant . Nesnenin CComVariant türü şeklindedir VT_R4.

dblSrc
[in] double nesnesine atanacak CComVariant . Nesnenin CComVariant türü şeklindedir VT_R8.

cySrc
[in] CY nesnesine atanacak CComVariant . Nesnenin CComVariant türü şeklindedir VT_CY.

pSrc
[in] IDispatch Nesneye atanacak veya IUnknown işaretçisi CComVariant . AddRef , arabirim işaretçisinde çağrılır. Nesnenin CComVariant türü sırasıyla veya VT_DISPATCHşeklindedirVT_UNKNOWN.

Veya nesneye atanacak SAFEARRAY bir CComVariant işaretçi. öğesinin bir SAFEARRAY kopyası nesnesinde CComVariant depolanır. Nesnenin CComVariant türü, ve SAFEARRAYöğesinin özgün türünün VT_ARRAY bir bileşimidir.

cSrc
[in] Nesneye atanacak CComVariant karakter. Nesnenin CComVariant türü şeklindedir VT_I1.

CComVariant::operator ==

Nesnenin CComVariant belirtilen VARIANTdeğerine eşit olup olmadığını gösterir.

bool operator==(const VARIANT& varSrc) const throw();

Açıklamalar

Değerinin ve türününTRUE, nesnenin sırasıyla değerine ve türüne varSrc eşit olup olmadığını döndürürCComVariant. Tersi durumda FALSE. işleç, karşılaştırmayı gerçekleştirmek için kullanıcının varsayılan yerel ayarını kullanır.

işleci yalnızca değişken türlerinin değerini karşılaştırır. Dizeleri, tamsayıları ve kayan noktaları karşılaştırır, ancak dizileri veya kayıtları karşılaştırmaz.

CComVariant::operator !=

Nesnenin CComVariant belirtilen VARIANTdeğerine eşit olup olmadığını gösterir.

bool operator!=(const VARIANT& varSrc) const throw();

Açıklamalar

Değeri veya türü TRUE nesnenin değerine veya türüne eşit varSrc değilse döndürürCComVariant. Tersi durumda FALSE. işleç, karşılaştırmayı gerçekleştirmek için kullanıcının varsayılan yerel ayarını kullanır.

işleci yalnızca değişken türlerinin değerini karşılaştırır. Dizeleri, tamsayıları ve kayan noktaları karşılaştırır, ancak dizileri veya kayıtları karşılaştırmaz.

CComVariant::operator <

Nesnenin belirtilen CComVariantdeğerinden VARIANT küçük olup olmadığını gösterir.

bool operator<(const VARIANT& varSrc) const throw();

Açıklamalar

nesnesinin değeri değerinden TRUE küçükse CComVariantdöndürürvarSrc. Tersi durumda FALSE. işleç, karşılaştırmayı gerçekleştirmek için kullanıcının varsayılan yerel ayarını kullanır.

CComVariant::operator >

Nesnenin belirtilen CComVariantdeğerinden VARIANT büyük olup olmadığını gösterir.

bool operator>(const VARIANT& varSrc) const throw();

Açıklamalar

nesnesinin değeri değerinden TRUE büyükse CComVariantdöndürürvarSrc. Tersi durumda FALSE. işleç, karşılaştırmayı gerçekleştirmek için kullanıcının varsayılan yerel ayarını kullanır.

CComVariant::ReadFromStream

Temel alınan VARIANTVARIANT değerini belirtilen akışta bulunan değerine ayarlar.

HRESULT ReadFromStream(IStream* pStream);

Parametreler

pStream
[in] Verileri içeren akış üzerindeki arabirimin işaretçisi IStream .

Dönüş değeri

Standart HRESULT bir değer.

Açıklamalar

ReadToStream için önceki bir çağrı gerektirir WriteToStream.

CComVariant::SetByRef

CComVariant nesnesini başlatır ve üyesini vt olarak VT_BYREFayarlar.

template < typename T >
void SetByRef(T* pT) throw();

Parametreler

T
VARIANTtürü, örneğin, BSTR, intveya char.

pT
Nesneyi başlatmak CComVariant için kullanılan işaretçi.

Açıklamalar

SetByRef, nesnesini işaretçiye CComVariantpT başlatan ve üyeyi olarak vtayarlayan VT_BYREF bir işlev şablonudur. Örneğin:

CComVariant var;
int nData = 10;
var.SetByRef(&nData);   

CComVariant::WriteToStream

Temel alınanı VARIANT bir akışa kaydeder.

HRESULT WriteToStream(IStream* pStream);

Parametreler

pStream
[in] Akış üzerindeki arabirimin IStream işaretçisi.

Dönüş değeri

Standart HRESULT bir değer.

Ayrıca bkz.

Sınıfa genel bakış