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_BYREF ayarlar. |
CComVariant::WriteToStream |
Temel alınanı VARIANT bir akışa kaydeder. |
Genel işleçler
Operator | Açıklama |
---|---|
CComVariant::operator < |
Nesnenin belirtilen VARIANT değerinden CComVariant küçük olup olmadığını gösterir. |
CComVariant::operator > |
Nesnenin belirtilen VARIANT değerinden CComVariant büyük olup olmadığını gösterir. |
CComVariant::operator != |
Nesnenin CComVariant belirtilen VARIANT değerine eşit olup olmadığını gösterir. |
CComVariant::operator = |
Nesneye CComVariant bir değer atar. |
CComVariant::operator == |
Nesnenin CComVariant belirtilen VARIANT değ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. VARIANT
s 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 VARIANT
olduğu gibi üyeye vt
doğrudan erişebilirsiniz.
Devralma hiyerarşisi
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_EMPTY
ayarlar.
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 SysAllocString
ayrı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] int
nesnesini LONGLONG
ULONGLONG
unsigned long
long
short
unsigned short
BYTE
baş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_UI4
veya VT_UI4
şeklindedirVT_I4
.
vtSrc
[in] Değişkenin türü. İlk parametre olduğunda int
geçerli türler ve VT_INT
olurVT_I4
. İlk parametre olduğunda long
geçerli türler ve VT_ERROR
olurVT_I4
. İlk parametre olduğunda double
geçerli türler ve VT_DATE
olurVT_R8
. İlk parametre olduğunda unsigned int
geçerli türler ve VT_UINT
olurVT_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::Clear
temizlemeyi yönetir.
CComVariant::~CComVariant
Yok edici.
~CComVariant() throw();
Açıklamalar
Bu yöntem, çağrılarak CComVariant::Clear
temizlemeyi 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 pSrc
ChangeType
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_BSTR
olmalıdır.
CComVariant::Detach
Temel alınan VARIANT
öğesini nesneden CComVariant
ayırır ve nesnenin türünü olarak VT_EMPTY
ayarlar.
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 VARIANT
s 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 IPersistStreamInit
iç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_MAX
GetSize
büyükse, hata belirten değerini döndürürsizeof(VARTYPE)
.
Diğer tüm durumlarda, geçerli VARIANT
tü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_BSTR
dö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 SysAllocString
ayrı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] int
long
LONGLONG
BYTE
unsigned short
ULONGLONG
short
Nesneye atanacak CComVariant
, , unsigned long
veya.unsigned int
Nesnenin CComVariant
türü sırasıyla , VT_UI1
, VT_I2
, VT_I4
, VT_I8
, VT_UI8
, VT_UI2
, VT_UI4
veya 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 VARIANT
değ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 VARIANT
değ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 VARIANT
değ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 varSrc
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.
CComVariant::operator >
Nesnenin belirtilen VARIANT
değ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 varSrc
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.
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_BYREF
ayarlar.
template < typename T >
void SetByRef(T* pT) throw();
Parametreler
T
VARIANT
türü, örneğin, BSTR
, int
veya 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_BYREF
ayarlayan 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.