Aracılığıyla paylaş


CComVariant sınıfı

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 CComVariant bir VARIANT ekler.
CComVariant::ChangeType CComVariant Nesneyi yeni bir türe dönüştürür.
CComVariant::Clear CComVariant Nesneyi temizler.
CComVariant::Copy nesnesine CComVariant kopyalarVARIANT.
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 VARIANTdeğerinden CComVariant küçük olup olmadığını gösterir.
CComVariant::operator > Nesnenin belirtilen VARIANTdeğerinden CComVariant 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

CComVariantVARIANT 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ü CComVariant ayıklamak için makroyu V_VT kullanabilir veya bir ile VARIANTolduğu gibi üyeye vt 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 VariantInit veya nesnenin değerini ve türünü geçirilen parametrelere göre ayarlayarak nesnenin güvenli bir şekilde başlatılmasını CComVariant 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 SysAllocStringayrılmış bir Unicode'a BSTR 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 LONGLONGULONGLONGunsigned longlongshortunsigned shortBYTEbaşlatmak CComVariant için kullanılan , veya .unsigned int Nesnenin CComVariant türü sırasıyla , VT_UI1, VT_I2, VT_I4, VT_I8, VT_UI8, VT_UI2, VT_UI4veya VT_UI4şeklindedirVT_I4.

vtSrc
[in] Değişkenin türü. İlk parametre olduğunda intgeçerli türler ve VT_INTolurVT_I4. İlk parametre olduğunda longgeçerli türler ve VT_ERRORolurVT_I4. İlk parametre olduğunda doublegeçerli türler ve VT_DATEolurVT_R8. İlk parametre olduğunda unsigned intgeçerli türler ve VT_UINTolurVT_UI4.

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_UNKNOWNşeklindedirVT_DISPATCH.

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 VT_ARRAYöğesinin özgün türünün SAFEARRAY 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 pDest başvuruda bulunan öğesinin VARIANT 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ı sizeof(VARTYPE)değerini döndürürsizeof.

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 IPersistStreamInitiçin IPersistStream sorgular. Başarılı olursa, dönüş değeri artı sizeof(CLSID) ve sizeof(VARTYPE)tarafından GetSizeMax döndürülen değerin düşük sıralı 32 bitidir. Arabirim işaretçisi iseNULL, GetSize artı sizeof(VARTYPE)döndürürsizeof(CLSID). 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 VARIANT VT_BSTRdöndürür GetSize sizeof(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 CComVariant veyaVARIANT. 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 SysAllocStringayrılmış bir Unicode'a BSTR 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] intlongLONGLONGBYTEunsigned shortULONGLONGshortNesneye atanacak CComVariant , , unsigned longveya.unsigned int Nesnenin CComVariant türü sırasıyla , VT_UI1, VT_I2, VT_I4, VT_I8, VT_UI8, VT_UI2, VT_UI4veya VT_UI4şeklindedirVT_I4.

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_UNKNOWNşeklindedirVT_DISPATCH.

Veya nesneye atanacak CComVariant bir SAFEARRAY işaretçi. öğesinin bir SAFEARRAY kopyası nesnesinde CComVariant depolanır. Nesnenin CComVariant türü, ve VT_ARRAYöğesinin özgün türünün SAFEARRAY 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ünvarSrc, nesnenin sırasıyla değerine ve türüne CComVariant eşit olup olmadığını döndürürTRUE. 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ü varSrc nesnenin değerine veya türüne eşit CComVariant değilse döndürürTRUE. 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 VARIANTdeğerinden CComVariant küçük olup olmadığını gösterir.

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

Açıklamalar

nesnesinin değeri değerinden CComVariant küçükse varSrcdöndürürTRUE. 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 VARIANTdeğerinden CComVariant büyük olup olmadığını gösterir.

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

Açıklamalar

nesnesinin değeri değerinden CComVariant büyükse varSrcdöndürürTRUE. 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 VARIANT VARIANT 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 CComVariant pT başlatan ve üyeyi olarak VT_BYREFayarlayan vt 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ış