Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Diese Klasse umschließt den VARIANT Typ und stellt ein Element bereit, das den Typ der gespeicherten Daten angibt.
Syntax
class CComVariant : public tagVARIANT
Member
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
CComVariant::CComVariant |
Der Konstruktor. |
CComVariant::~CComVariant |
Der Destruktor. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
CComVariant::Attach |
Fügt ein Objekt VARIANT CComVariant an. |
CComVariant::ChangeType |
Konvertiert das CComVariant Objekt in einen neuen Typ. |
CComVariant::Clear |
Löscht das CComVariant Objekt. |
CComVariant::Copy |
Kopiert ein VARIANT Objekt in das CComVariant Objekt. |
CComVariant::CopyTo |
Kopiert den Inhalt des CComVariant Objekts. |
CComVariant::Detach |
Trennt den zugrunde liegenden VARIANT vom CComVariant Objekt. |
CComVariant::GetSize |
Gibt die Größe der Anzahl der Bytes des Inhalts des CComVariant Objekts zurück. |
CComVariant::ReadFromStream |
Lädt einen VARIANT Datenstrom. |
CComVariant::SetByRef |
Initialisiert das CComVariant Objekt und legt das vt Element auf VT_BYREF. |
CComVariant::WriteToStream |
Speichert den zugrunde liegenden VARIANT Datenstrom. |
Öffentliche Operatoren
| Operator | Beschreibung |
|---|---|
CComVariant::operator < |
Gibt an, ob das CComVariant Objekt kleiner als die angegebene VARIANTist. |
CComVariant::operator > |
Gibt an, ob das CComVariant Objekt größer als die angegebene VARIANTist. |
CComVariant::operator != |
Gibt an, ob das CComVariant Objekt nicht dem angegebenen VARIANTentspricht. |
CComVariant::operator = |
Weist dem CComVariant Objekt einen Wert zu. |
CComVariant::operator == |
Gibt an, ob das CComVariant Objekt dem angegebenen VARIANTentspricht. |
Hinweise
CComVariant umschließt den VARIANT Und-Typ VARIANTARG , der aus einer Union und einem Mitglied besteht, das den Typ der in der Union gespeicherten Daten angibt. VARIANTs werden in der Regel in der Automatisierung verwendet.
CComVariant wird vom Typ abgeleitet VARIANT , damit er überall verwendet werden kann, wo eine VARIANT verwendet werden kann. Sie können z. B. das V_VT Makro verwenden, um den Typ eines Elements CComVariant zu extrahieren, oder Sie können direkt auf das vt Element zugreifen, genau wie bei einem VARIANT.
Vererbungshierarchie
Anforderungen
Header: atlcomcli.h
CComVariant::Attach
Löscht den aktuellen Inhalt des CComVariant Objekts sicher, kopiert den Inhalt in pSrc dieses Objekt und legt dann den Variantentyp auf pSrc VT_EMPTY.
HRESULT Attach(VARIANT* pSrc);
Parameter
pSrc
[in] Verweist auf das VARIANT Objekt, das an das Objekt angefügt werden soll.
Rückgabewert
Ein Standard HRESULT -Wert.
Hinweise
Der Besitz der gespeicherten pSrc Daten wird an das CComVariant Objekt übertragen.
CComVariant::CComVariant
Jeder Konstruktor behandelt die sichere Initialisierung des CComVariant Objekts durch Aufrufen der VariantInit Win32-Funktion oder durch Festlegen des Werts und Typs des Objekts gemäß den übergebenen Parametern.
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);
Parameter
varSrc
[in] The CComVariant or VARIANT used to initialize the CComVariant object. Der Inhalt der Quellvariante wird ohne Konvertierung in das Ziel kopiert.
lpszSrc
[in] Die zum Initialisieren des CComVariant Objekts verwendete Zeichenfolge. Sie können eine Zeichenfolge ohne Ende (Unicode) an die LPCOLESTR Version des Konstruktors oder eine ANSI-Zeichenfolge an die LPCSTR Version übergeben. In beiden Fällen wird die Zeichenfolge in einen unicode-zugewiesenen SysAllocStringUnicode-Code BSTR konvertiert. Der Typ des CComVariant Objekts ist VT_BSTR.
bSrc
[in] Die bool zum Initialisieren des CComVariant Objekts verwendete Eigenschaft. Das bool Argument wird vor dem Speichern in ein VARIANT_BOOL Argument konvertiert. Der Typ des CComVariant Objekts ist VT_BOOL.
nSrc
[in] The int, BYTE, , short, long, LONGLONG, ULONGLONG, unsigned short, , unsigned longoder unsigned int used to initialize the CComVariant object. Der Typ des Objekts ist VT_I4, , VT_UI1, VT_I2VT_I4, VT_I8, , VT_UI8, VT_UI2, VT_UI4, oder VT_UI4, bzwCComVariant. .
vtSrc
[in] Der Typ der Variante. Wenn der erste Parameter lautet int, sind VT_I4 gültige Typen und VT_INT. Wenn der erste Parameter lautet long, sind VT_I4 gültige Typen und VT_ERROR. Wenn der erste Parameter lautet double, sind VT_R8 gültige Typen und VT_DATE. Wenn der erste Parameter lautet unsigned int, sind VT_UI4 gültige Typen und VT_UINT.
fltSrc
[in] Die float zum Initialisieren des CComVariant Objekts verwendete Eigenschaft. Der Typ des CComVariant Objekts ist VT_R4.
dblSrc
[in] Die double zum Initialisieren des CComVariant Objekts verwendete Eigenschaft. Der Typ des CComVariant Objekts ist VT_R8.
cySrc
[in] Die CY zum Initialisieren des CComVariant Objekts verwendete Eigenschaft. Der Typ des CComVariant Objekts ist VT_CY.
pSrc
[in] Der IDispatch zum Initialisieren des CComVariant Objekts verwendete Zeiger.IUnknown AddRef wird auf dem Schnittstellenzeiger aufgerufen. Der Typ des CComVariant Objekts ist VT_DISPATCH bzw VT_UNKNOWN.
Oder der Zeiger, der SAFERRAY zum Initialisieren des CComVariant Objekts verwendet wird. Eine Kopie der SAFEARRAY Datei wird im CComVariant Objekt gespeichert. Der Typ des CComVariant Objekts ist eine Kombination aus dem ursprünglichen Typ des SAFEARRAY Und VT_ARRAY.
cSrc
[in] Die char zum Initialisieren des CComVariant Objekts verwendete Eigenschaft. Der Typ des CComVariant Objekts ist VT_I1.
bstrSrc
[in] Die BSTR zum Initialisieren des CComVariant Objekts verwendete Eigenschaft. Der Typ des CComVariant Objekts ist VT_BSTR.
Hinweise
Der Destruktor verwaltet die Bereinigung durch Aufrufen CComVariant::Clear.
CComVariant::~CComVariant
Der Destruktor.
~CComVariant() throw();
Hinweise
Diese Methode verwaltet die Bereinigung durch Aufrufen CComVariant::Clear.
CComVariant::ChangeType
Konvertiert das CComVariant Objekt in einen neuen Typ.
HRESULT ChangeType(VARTYPE vtNew, const VARIANT* pSrc = NULL);
Parameter
vtNew
[in] Der neue Typ für das CComVariant Objekt.
pSrc
[in] Ein Zeiger auf den VARIANT Wert, dessen Wert in den neuen Typ konvertiert wird. Der Standardwert lautet NULL, d. h., das CComVariant Objekt wird direkt konvertiert.
Rückgabewert
Ein Standard HRESULT -Wert.
Hinweise
Wenn Sie einen Wert für pSrcdie Konvertierung übergeben, ChangeType wird dies VARIANT als Quelle für die Konvertierung verwendet. Andernfalls ist das CComVariant Objekt die Quelle.
CComVariant::Clear
Löscht das CComVariant Objekt, indem die VariantClear Win32-Funktion aufgerufen wird.
HRESULT Clear();
Rückgabewert
Ein Standard HRESULT -Wert.
Hinweise
Der Destruktor ruft automatisch auf Clear.
CComVariant::Copy
Gibt das CComVariant Objekt frei und weist es dann einer Kopie der angegebenen VARIANTzu.
HRESULT Copy(const VARIANT* pSrc);
Parameter
pSrc
[in] Ein Zeiger auf den VARIANT zu kopierenden Zeiger.
Rückgabewert
Ein Standard HRESULT -Wert.
CComVariant::CopyTo
Kopiert den Inhalt des CComVariant Objekts.
HRESULT CopyTo(BSTR* pstrDest);
Parameter
pstrDest
Verweist auf eine BSTR Kopie des Inhalts des CComVariant Objekts.
Rückgabewert
Ein Standard HRESULT -Wert.
Hinweise
Das CComVariant Objekt muss vom Typ VT_BSTRsein.
CComVariant::Detach
Trennt die zugrunde liegende VARIANT vom CComVariant Objekt und legt den Typ des Objekts auf VT_EMPTY.
HRESULT Detach(VARIANT* pDest);
Parameter
pDest
[out] Gibt den zugrunde liegenden VARIANT Wert des Objekts zurück.
Rückgabewert
Ein Standard HRESULT -Wert.
Hinweise
Der Inhalt des VARIANT Verweises pDest durch wird automatisch gelöscht, bevor dem Wert und typ des aufrufenden CComVariant Objekts zugewiesen wird.
CComVariant::GetSize
Für einfache feste Größe VARIANTgibt diese Methode den sizeof Wert für den zugrunde liegenden Datentyp plus sizeof(VARTYPE)zurück.
ULONG GetSize() const;
Rückgabewert
Die Größe in Byte des aktuellen Inhalts des CComVariant Objekts.
Hinweise
Wenn das VARIANT Element einen Schnittstellenzeiger enthält, GetSize werden Abfragen für IPersistStream oder IPersistStreamInit. Wenn der Rückgabewert erfolgreich verläuft, handelt es sich bei dem Rückgabewert um 32 Bit mit niedriger Reihenfolge, die von GetSizeMax Plus- und sizeof(VARTYPE)32-Bits sizeof(CLSID) zurückgegeben werden. Wenn der Schnittstellenzeiger istNULL, GetSize wird Pluszeichen sizeof(VARTYPE)zurückgegebensizeof(CLSID). Wenn die Gesamtgröße größer als ULONG_MAXist, GetSize wird sizeof(VARTYPE)ein Fehler zurückgegeben.
In allen anderen Fällen wird ein temporärer VARIANT Typ VT_BSTR aus dem aktuellen VARIANT. Die Länge dieser BSTR Zeichenfolge wird als Größe der Länge der Zeichenfolge plus der Länge der Zeichenfolge selbst und der Größe des NULL Zeichens plus sizeof(VARTYPE)berechnet. Wenn der VARIANT Wert nicht in einen VARIANT Typ umgewandelt werden kann, wird der Wert VT_BSTRGetSize zurückgegebensizeof(VARTYPE).
Die von dieser Methode zurückgegebene Größe entspricht der Anzahl der Bytes, die CComVariant::WriteToStream unter erfolgreichen Bedingungen verwendet werden.
CComVariant::operator =
Weist dem CComVariant Objekt einen Wert und einen entsprechenden Typ zu.
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();
Parameter
varSrc
[in] Der CComVariant oder VARIANT der dem CComVariant Objekt zugewiesen werden soll. Der Inhalt der Quellvariante wird ohne Konvertierung in das Ziel kopiert.
bstrSrc
[in] Der BSTR dem Objekt zugewiesen CComVariant werden soll. Der Typ des CComVariant Objekts ist VT_BSTR.
lpszSrc
[in] Die Zeichenfolge, die dem CComVariant Objekt zugewiesen werden soll. Sie können eine durch Null beendete breite (Unicode)-Zeichenfolge an die LPCOLESTR Version des Operators oder eine ANSI-Zeichenfolge an die LPCSTR Version übergeben. In beiden Fällen wird die Zeichenfolge in einen unicode-zugewiesenen SysAllocStringUnicode-Code BSTR konvertiert. Der Typ des CComVariant Objekts ist VT_BSTR.
bSrc
[in] Der bool dem Objekt zugewiesen CComVariant werden soll. Das bool Argument wird vor dem Speichern in ein VARIANT_BOOL Argument konvertiert. Der Typ des CComVariant Objekts ist VT_BOOL.
nSrc
[in] The int, , BYTE, short, long, LONGLONG, ULONGLONG, , unsigned short, , or unsigned longunsigned int to be assigned to the CComVariant object. Der Typ des Objekts ist VT_I4, , VT_UI1, VT_I2VT_I4, VT_I8, , VT_UI8, VT_UI2, VT_UI4, oder VT_UI4, bzwCComVariant. .
fltSrc
[in] Der float dem Objekt zugewiesen CComVariant werden soll. Der Typ des CComVariant Objekts ist VT_R4.
dblSrc
[in] Der double dem Objekt zugewiesen CComVariant werden soll. Der Typ des CComVariant Objekts ist VT_R8.
cySrc
[in] Der CY dem Objekt zugewiesen CComVariant werden soll. Der Typ des CComVariant Objekts ist VT_CY.
pSrc
[in] IUnknown Der IDispatch oder der Zeiger, der dem CComVariant Objekt zugewiesen werden soll. AddRef wird auf dem Schnittstellenzeiger aufgerufen. Der Typ des CComVariant Objekts ist VT_DISPATCH bzw VT_UNKNOWN.
Oder ein SAFEARRAY Zeiger, der dem CComVariant Objekt zugewiesen werden soll. Eine Kopie der SAFEARRAY Datei wird im CComVariant Objekt gespeichert. Der Typ des CComVariant Objekts ist eine Kombination aus dem ursprünglichen Typ des SAFEARRAY Und VT_ARRAY.
cSrc
[in] Das Zeichen, das dem CComVariant Objekt zugewiesen werden soll. Der Typ des CComVariant Objekts ist VT_I1.
CComVariant::operator ==
Gibt an, ob das CComVariant Objekt dem angegebenen VARIANTentspricht.
bool operator==(const VARIANT& varSrc) const throw();
Hinweise
Gibt zurück TRUE , wenn der Wert und typ des varSrc Objekts gleich dem Wert und Typ des CComVariant Objekts sind. Andernfalls FALSE. Der Operator verwendet das Standardgebietsschema des Benutzers, um den Vergleich durchzuführen.
Der Operator vergleicht nur den Wert der Variantentypen. Sie vergleicht Zeichenfolgen, ganze Zahlen und Gleitkommapunkte, jedoch keine Arrays oder Datensätze.
CComVariant::operator !=
Gibt an, ob das CComVariant Objekt nicht dem angegebenen VARIANTentspricht.
bool operator!=(const VARIANT& varSrc) const throw();
Hinweise
Gibt zurück TRUE , wenn der Wert oder Typ des varSrc Objekts nicht dem Wert oder Typ des CComVariant Objekts entspricht. Andernfalls FALSE. Der Operator verwendet das Standardgebietsschema des Benutzers, um den Vergleich durchzuführen.
Der Operator vergleicht nur den Wert der Variantentypen. Sie vergleicht Zeichenfolgen, ganze Zahlen und Gleitkommapunkte, jedoch keine Arrays oder Datensätze.
CComVariant::operator <
Gibt an, ob das CComVariant Objekt kleiner als die angegebene VARIANTist.
bool operator<(const VARIANT& varSrc) const throw();
Hinweise
Gibt zurück TRUE , wenn der Wert des CComVariant Objekts kleiner als der Wert von varSrcist. Andernfalls FALSE. Der Operator verwendet das Standardgebietsschema des Benutzers, um den Vergleich durchzuführen.
CComVariant::operator >
Gibt an, ob das CComVariant Objekt größer als die angegebene VARIANTist.
bool operator>(const VARIANT& varSrc) const throw();
Hinweise
Gibt zurück TRUE , wenn der Wert des CComVariant Objekts größer als der Wert von varSrcist. Andernfalls FALSE. Der Operator verwendet das Standardgebietsschema des Benutzers, um den Vergleich durchzuführen.
CComVariant::ReadFromStream
Legt den zugrunde liegenden VARIANT Wert auf den VARIANT im angegebenen Datenstrom enthaltenen Fest.
HRESULT ReadFromStream(IStream* pStream);
Parameter
pStream
[in] Ein Zeiger auf die IStream Schnittstelle im Datenstrom, der die Daten enthält.
Rückgabewert
Ein Standard HRESULT -Wert.
Hinweise
ReadToStream erfordert einen vorherigen Aufruf von WriteToStream.
CComVariant::SetByRef
Initialisiert das CComVariant Objekt und legt das vt Element auf VT_BYREF.
template < typename T >
void SetByRef(T* pT) throw();
Parameter
T
Der Typ von VARIANT, z. B BSTR. , , intoder char.
pT
Der Zum Initialisieren des CComVariant Objekts verwendete Zeiger.
Hinweise
SetByRef ist eine Funktionsvorlage, die das CComVariant Objekt auf den Zeiger pT initialisiert und das vt Element auf VT_BYREF. Zum Beispiel:
CComVariant var;
int nData = 10;
var.SetByRef(&nData);
CComVariant::WriteToStream
Speichert den zugrunde liegenden VARIANT Datenstrom.
HRESULT WriteToStream(IStream* pStream);
Parameter
pStream
[in] Ein Zeiger auf die IStream Schnittstelle in einem Datenstrom.
Rückgabewert
Ein Standard HRESULT -Wert.