Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Az aktív sablontár (ATL) továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Ez az osztály körbefuttatja a VARIANT típust, és megadja a tárolt adatok típusát jelző tagot.
Szemantika
class CComVariant : public tagVARIANT
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
CComVariant::CComVariant |
A konstruktor. |
CComVariant::~CComVariant |
A destruktor. |
Nyilvános metódusok
| Név | Description |
|---|---|
CComVariant::Attach |
Csatol egy objektumotVARIANT.CComVariant |
CComVariant::ChangeType |
CComVariant Az objektumot új típussá alakítja. |
CComVariant::Clear |
Törli az objektumot CComVariant . |
CComVariant::Copy |
Átmásolja az objektumotVARIANT.CComVariant |
CComVariant::CopyTo |
Másolja az objektum tartalmát CComVariant . |
CComVariant::Detach |
Leválasztja a mögöttes objektumot VARIANT az CComVariant objektumról. |
CComVariant::GetSize |
Az objektum tartalmának CComVariant bájtban megadott méretét adja vissza. |
CComVariant::ReadFromStream |
Betölt egy VARIANT streamből származó elemet. |
CComVariant::SetByRef |
Inicializálja az CComVariant objektumot, és beállítja a tagot a vt következőre VT_BYREF: . |
CComVariant::WriteToStream |
Menti az alapul szolgálót VARIANT egy streambe. |
Nyilvános operátorok
| Operátor | Description |
|---|---|
CComVariant::operator < |
Azt jelzi, hogy az CComVariant objektum kisebb-e a megadottnál VARIANT. |
CComVariant::operator > |
Azt jelzi, hogy az CComVariant objektum nagyobb-e a megadottnál VARIANT. |
CComVariant::operator != |
Azt jelzi, hogy az CComVariant objektum nem egyenlő-e a megadottval VARIANT. |
CComVariant::operator = |
Érték hozzárendelése az CComVariant objektumhoz. |
CComVariant::operator == |
Azt jelzi, hogy az CComVariant objektum megegyezik-e a megadott VARIANTértékekkel. |
Megjegyzések
CComVariantsorba foglalja a egyesítést és VARIANTARG a VARIANT típust, amely egy unióból és egy tagból áll, amely az egyesítőben tárolt adatok típusát jelzi.
VARIANTAz s-eket általában az Automationben használják.
CComVariant a típusból VARIANT származik, így bárhol VARIANT használható. A makróval V_VT például kinyerheti a típust CComVariant , vagy közvetlenül is elérheti a vt tagot, ahogyan egy VARIANT.
Öröklési hierarchia
Requirements
Fejléc:atlcomcli.h
CComVariant::Attach
Biztonságosan törli az objektum aktuális tartalmát CComVariant , átmásolja a tartalmát pSrc ebbe az objektumba, majd beállítja pSrcVT_EMPTYa változat típusát.
HRESULT Attach(VARIANT* pSrc);
Paraméterek
pSrc
[in] VARIANT Az objektumhoz csatolandó elemre mutat.
Visszaadott érték
Egy standard HRESULT érték.
Megjegyzések
A tárolt pSrc adatok tulajdonjoga átkerül az CComVariant objektumba.
CComVariant::CComVariant
Minden konstruktor kezeli az objektum biztonságos inicializálását a VariantInit Win32 függvény meghívásával vagy az objektum értékének és típusának CComVariant az átadott paramétereknek megfelelő beállításával.
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);
Paraméterek
varSrc
[in] Az CComVariant objektum inicializálásához vagy VARIANT inicializálásához CComVariant használt. A forrásvariáns tartalma konvertálás nélkül lesz átmásolva a célhelyre.
lpszSrc
[in] Az objektum inicializálásához CComVariant használt karaktersztring. Nulla végződésű széles (Unicode) karaktersztringet adhat át a LPCOLESTR konstruktor verziójának, vagy egy ANSI-sztringet a LPCSTR verziónak. A sztring mindkét esetben Unicode-ra BSTR lesz konvertálva, amely a használatával SysAllocStringvan lefoglalva. Az objektum típusaCComVariant.VT_BSTR
bSrc
[in] Az bool objektum inicializálásához CComVariant használt. Az bool argumentumot a rendszer a tárolás előtt átalakítja.VARIANT_BOOL Az objektum típusaCComVariant.VT_BOOL
nSrc
[in] Az intobjektum inicializálásához használt , shortBYTE, long, LONGLONG, ULONGLONG, unsigned shortunsigned long, vagyunsigned int.CComVariant Az objektum VT_I4típusa CComVariant : , VT_UI1, VT_I4VT_I2, VT_I8, VT_UI4VT_UI8VT_UI2vagy VT_UI4, .
vtSrc
[in] A változat típusa. Ha az első paraméter, akkor az intérvényes típusok VT_I4 és VT_INTa . Ha az első paraméter, akkor az longérvényes típusok VT_I4 és VT_ERRORa . Ha az első paraméter, akkor az doubleérvényes típusok VT_R8 és VT_DATEa . Ha az első paraméter, akkor az unsigned intérvényes típusok VT_UI4 és VT_UINTa .
fltSrc
[in] Az float objektum inicializálásához CComVariant használt. Az objektum típusaCComVariant.VT_R4
dblSrc
[in] Az double objektum inicializálásához CComVariant használt. Az objektum típusaCComVariant.VT_R8
cySrc
[in] Az CY objektum inicializálásához CComVariant használt. Az objektum típusaCComVariant.VT_CY
pSrc
[in] Az IDispatch objektum inicializálásához CComVariant használt mutató.IUnknown
AddRef az illesztőmutatón van meghívva. Az objektum VT_DISPATCH típusa CComVariant vagy VT_UNKNOWNannak típusa.
Vagy az SAFERRAY objektum inicializálásához CComVariant használt mutató. A rendszer az SAFEARRAY objektum egy példányát CComVariant tárolja. Az objektum típusa az CComVariant eredeti és SAFEARRAYVT_ARRAYa .
cSrc
[in] Az char objektum inicializálásához CComVariant használt. Az objektum típusaCComVariant.VT_I1
bstrSrc
[in] Az BSTR objektum inicializálásához CComVariant használt. Az objektum típusaCComVariant.VT_BSTR
Megjegyzések
A destruktor hívással CComVariant::Clearkezeli a törlést.
CComVariant::~CComVariant
A destruktor.
~CComVariant() throw();
Megjegyzések
Ez a metódus hívással kezeli a törlést CComVariant::Clear.
CComVariant::ChangeType
CComVariant Az objektumot új típussá alakítja.
HRESULT ChangeType(VARTYPE vtNew, const VARIANT* pSrc = NULL);
Paraméterek
vtNew
[in] Az objektum új típusa CComVariant .
pSrc
[in] Az új típussá VARIANT konvertált érték mutatója. Az alapértelmezett érték az NULL, ami azt jelenti, hogy az CComVariant objektum a helyén lesz konvertálva.
Visszaadott érték
Egy standard HRESULT érték.
Megjegyzések
Ha egy értéket pSrcad át, ChangeType ezt VARIANT fogja használni az átalakítás forrásaként. Ellenkező esetben az CComVariant objektum a forrás.
CComVariant::Clear
Törli az CComVariant objektumot a VariantClear Win32 függvény meghívásával.
HRESULT Clear();
Visszaadott érték
Egy standard HRESULT érték.
Megjegyzések
A destruktor automatikusan hív.Clear
CComVariant::Copy
Felszabadítja az CComVariant objektumot, majd hozzárendeli a megadott VARIANTpéldány egy példányát.
HRESULT Copy(const VARIANT* pSrc);
Paraméterek
pSrc
[in] A másolandó mutató VARIANT .
Visszaadott érték
Egy standard HRESULT érték.
CComVariant::CopyTo
Másolja az objektum tartalmát CComVariant .
HRESULT CopyTo(BSTR* pstrDest);
Paraméterek
pstrDest
Egy olyan pontra BSTR mutat, amely megkapja az objektum tartalmának másolatát CComVariant .
Visszaadott érték
Egy standard HRESULT érték.
Megjegyzések
Az CComVariant objektumnak típusnak VT_BSTRkell lennie.
CComVariant::Detach
Leválasztja a mögöttes objektumot VARIANT az CComVariant objektumról, és beállítja az objektum típusát VT_EMPTY.
HRESULT Detach(VARIANT* pDest);
Paraméterek
pDest
[kifelé] Az objektum mögöttes VARIANT értékét adja vissza.
Visszaadott érték
Egy standard HRESULT érték.
Megjegyzések
A hivatkozott pDest hivatkozás tartalma VARIANT automatikusan törlődik, mielőtt hozzá lett rendelve a hívó CComVariant objektum értékéhez és típusához.
CComVariant::GetSize
Az egyszerű rögzített s méret esetén VARIANTez a metódus a sizeof mögöttes adattípus értékét adja vissza plusz sizeof(VARTYPE).
ULONG GetSize() const;
Visszaadott érték
Az objektum aktuális tartalmának bájtban megadott CComVariant mérete.
Megjegyzések
Ha a VARIANT mutató felületi mutatót tartalmaz, GetSize akkor a lekérdezések a következőhöz: IPersistStream vagy IPersistStreamInit. Ha sikeres, a visszatérési érték a plusz sizeof(CLSID) és sizeof(VARTYPE)a GetSizeMax . Ha az illesztőmutató az NULL, akkor plusz sizeof(VARTYPE)értéket ad sizeof(CLSID)GetSize vissza. Ha a teljes méret nagyobb, mint ULONG_MAXa visszaadott sizeof(VARTYPE)GetSize érték, az hibát jelez.
Minden más esetben a jelenlegi típusból VARIANTkényszerít egy ideiglenes VARIANT típustVT_BSTR. Ennek BSTR hosszát a sztring hosszának és magának a sztringnek a hossza, valamint a karakter és a NULL karakter sizeof(VARTYPE)mérete alapján számítjuk ki. Ha a VARIANT rendszer nem kényszeríthető egy VARIANT típusra VT_BSTR, GetSize a visszaadott sizeof(VARTYPE)értéket adja vissza.
A metódus által visszaadott méret megegyezik a sikeres feltételek mellett CComVariant::WriteToStream használt bájtok számával.
CComVariant::operator =
Egy értéket és egy megfelelő típust rendel hozzá az CComVariant objektumhoz.
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();
Paraméterek
varSrc
[in] Az CComVariant objektumhoz rendelendő vagy VARIANT hozzárendelendő CComVariant . A forrásvariáns tartalma konvertálás nélkül lesz átmásolva a célhelyre.
bstrSrc
[in] Az BSTR objektumhoz CComVariant rendelendő. Az objektum típusaCComVariant.VT_BSTR
lpszSrc
[in] Az objektumhoz CComVariant hozzárendelendő karaktersztring. Egy nulla végződésű széles (Unicode) karaktersztringet átadhat az LPCOLESTR operátor verziójának, vagy egy ANSI-sztringet a LPCSTR verziónak. A sztring mindkét esetben Unicode-ra BSTR lesz konvertálva, amely a használatával SysAllocStringvan lefoglalva. Az objektum típusaCComVariant.VT_BSTR
bSrc
[in] Az bool objektumhoz CComVariant rendelendő. Az bool argumentumot a rendszer a tárolás előtt átalakítja.VARIANT_BOOL Az objektum típusaCComVariant.VT_BOOL
nSrc
[in] A int, BYTE, short, long, LONGLONGULONGLONG, , unsigned short, unsigned longunsigned intCComVariant Az objektum VT_I4típusa CComVariant : , VT_UI1, VT_I4VT_I2, VT_I8, VT_UI4VT_UI8VT_UI2vagy VT_UI4, .
fltSrc
[in] Az float objektumhoz CComVariant rendelendő. Az objektum típusaCComVariant.VT_R4
dblSrc
[in] Az double objektumhoz CComVariant rendelendő. Az objektum típusaCComVariant.VT_R8
cySrc
[in] Az CY objektumhoz CComVariant rendelendő. Az objektum típusaCComVariant.VT_CY
pSrc
[in] Az IDispatch objektumhoz CComVariant hozzárendelni kívánt mutató.IUnknown
AddRef az illesztőmutatón van meghívva. Az objektum VT_DISPATCH típusa CComVariant vagy VT_UNKNOWNannak típusa.
Vagy az SAFEARRAY objektumhoz CComVariant rendelendő mutató. A rendszer az SAFEARRAY objektum egy példányát CComVariant tárolja. Az objektum típusa az CComVariant eredeti és SAFEARRAYVT_ARRAYa .
cSrc
[in] Az objektumhoz CComVariant hozzárendelendő karakter. Az objektum típusaCComVariant.VT_I1
CComVariant::operator ==
Azt jelzi, hogy az CComVariant objektum megegyezik-e a megadott VARIANTértékekkel.
bool operator==(const VARIANT& varSrc) const throw();
Megjegyzések
Akkor adja TRUE vissza, ha az érték és a varSrc típus megegyezik az CComVariant objektum értékével és típusával. Ellenkező esetben FALSE. Az operátor a felhasználó alapértelmezett területi beállításával végzi el az összehasonlítást.
Az operátor csak a változattípusok értékét hasonlítja össze. Sztringeket, egész számokat és lebegő pontokat hasonlít össze, tömböket és rekordokat nem.
CComVariant::operator !=
Azt jelzi, hogy az CComVariant objektum nem egyenlő-e a megadottval VARIANT.
bool operator!=(const VARIANT& varSrc) const throw();
Megjegyzések
Visszaadja TRUE , ha az érték vagy a varSrc típus nem egyenlő az objektum értékével vagy típusával CComVariant . Ellenkező esetben FALSE. Az operátor a felhasználó alapértelmezett területi beállításával végzi el az összehasonlítást.
Az operátor csak a változattípusok értékét hasonlítja össze. Sztringeket, egész számokat és lebegő pontokat hasonlít össze, tömböket és rekordokat nem.
CComVariant::operator <
Azt jelzi, hogy az CComVariant objektum kisebb-e a megadottnál VARIANT.
bool operator<(const VARIANT& varSrc) const throw();
Megjegyzések
Akkor adja TRUE vissza, ha az CComVariant objektum értéke kisebb, mint a .varSrc Ellenkező esetben FALSE. Az operátor a felhasználó alapértelmezett területi beállításával végzi el az összehasonlítást.
CComVariant::operator >
Azt jelzi, hogy az CComVariant objektum nagyobb-e a megadottnál VARIANT.
bool operator>(const VARIANT& varSrc) const throw();
Megjegyzések
Akkor adja TRUE vissza, ha az CComVariant objektum értéke nagyobb, mint a .varSrc Ellenkező esetben FALSE. Az operátor a felhasználó alapértelmezett területi beállításával végzi el az összehasonlítást.
CComVariant::ReadFromStream
Beállítja az alapul szolgálót VARIANT a VARIANT megadott streamben találhatóra.
HRESULT ReadFromStream(IStream* pStream);
Paraméterek
pStream
[in] Az adatokat tartalmazó adatfolyam felületére mutató mutató IStream .
Visszaadott érték
Egy standard HRESULT érték.
Megjegyzések
ReadToStreama előző hívását igényli.WriteToStream
CComVariant::SetByRef
Inicializálja az CComVariant objektumot, és beállítja a tagot a vt következőre VT_BYREF: .
template < typename T >
void SetByRef(T* pT) throw();
Paraméterek
T
A típusVARIANT, például , BSTRintvagy char.
pT
Az objektum inicializálásához CComVariant használt mutató.
Megjegyzések
SetByRefegy függvénysablon, amely inicializálja az CComVariant objektumot a mutatóra, és a tagot a vt következőre pTVT_BYREFállítja: . Például:
CComVariant var;
int nData = 10;
var.SetByRef(&nData);
CComVariant::WriteToStream
Menti az alapul szolgálót VARIANT egy streambe.
HRESULT WriteToStream(IStream* pStream);
Paraméterek
pStream
[in] A stream felületére IStream mutató mutató.
Visszaadott érték
Egy standard HRESULT érték.