Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Classe
Cette classe encapsule le VARIANT type, en fournissant un membre indiquant le type de données stockées.
Syntaxe
class CComVariant : public tagVARIANT
Membres
Constructeurs publics
| Nom | Description |
|---|---|
CComVariant::CComVariant |
Constructeur . |
CComVariant::~CComVariant |
Destructeur. |
Méthodes publiques
| Nom | Description |
|---|---|
CComVariant::Attach |
Attache un VARIANT à l’objet CComVariant . |
CComVariant::ChangeType |
Convertit l’objet CComVariant en un nouveau type. |
CComVariant::Clear |
Efface l’objet CComVariant . |
CComVariant::Copy |
Copie un VARIANT objet.CComVariant |
CComVariant::CopyTo |
Copie le contenu de l’objet CComVariant . |
CComVariant::Detach |
Détache le sous-jacent VARIANT de l’objet CComVariant . |
CComVariant::GetSize |
Retourne la taille en nombre d’octets du contenu de l’objet CComVariant . |
CComVariant::ReadFromStream |
Charge un VARIANT flux à partir d’un flux. |
CComVariant::SetByRef |
Initialise l’objet CComVariant et définit le vt membre sur VT_BYREF. |
CComVariant::WriteToStream |
Enregistre le sous-jacent dans VARIANT un flux. |
Opérateurs publics
| Opérateur | Description |
|---|---|
CComVariant::operator < |
Indique si l’objet CComVariant est inférieur à l’objet spécifié VARIANT. |
CComVariant::operator > |
Indique si l’objet CComVariant est supérieur à l’objet spécifié VARIANT. |
CComVariant::operator != |
Indique si l’objet CComVariant n’est pas égal à l’objet spécifié VARIANT. |
CComVariant::operator = |
Affecte une valeur à l’objet CComVariant . |
CComVariant::operator == |
Indique si l’objet CComVariant est égal à l’objet spécifié VARIANT. |
Notes
CComVariantencapsule le type et VARIANTARG le VARIANT type, qui se compose d’une union et d’un membre indiquant le type des données stockées dans l’union. VARIANTsont généralement utilisés dans Automation.
CComVariant dérive du VARIANT type afin qu’il puisse être utilisé partout où un VARIANT peut être utilisé. Vous pouvez, par exemple, utiliser la V_VT macro pour extraire le type d’un CComVariant ou vous pouvez accéder directement au vt membre comme vous le pouvez avec un VARIANT.
Hiérarchie d’héritage
Spécifications
En-tête : atlcomcli.h
CComVariant::Attach
Efface en toute sécurité le contenu actuel de l’objetCComVariant, copie le contenu de pSrc cet objet, puis définit le type de variante sur VT_EMPTYpSrc .
HRESULT Attach(VARIANT* pSrc);
Paramètres
pSrc
[in] Pointe vers le VARIANT point d’être attaché à l’objet.
Valeur retournée
Valeur HRESULT standard.
Notes
La propriété des données détenues par pSrc est transférée à l’objet CComVariant .
CComVariant::CComVariant
Chaque constructeur gère l’initialisation sécurisée de l’objet CComVariant en appelant la VariantInit fonction Win32 ou en définissant la valeur et le type de l’objet en fonction des paramètres passés.
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ètres
varSrc
[in] VARIANT Ou CComVariant utilisé pour initialiser l’objetCComVariant. Le contenu de la variante source est copié dans la destination sans conversion.
lpszSrc
[in] Chaîne de caractères utilisée pour initialiser l’objet CComVariant . Vous pouvez passer une chaîne de caractères à large zéro (Unicode) à la LPCOLESTR version du constructeur ou à une chaîne ANSI à la LPCSTR version. Dans les deux cas, la chaîne est convertie en Unicode BSTR allouée à l’aide SysAllocStringde . Le type de l’objet CComVariant est VT_BSTR.
bSrc
[in] Utilisé bool pour initialiser l’objet CComVariant . L’argument bool est converti en un VARIANT_BOOL avant d’être stocké. Le type de l’objet CComVariant est VT_BOOL.
nSrc
[in] Le int, , , longLONGLONGULONGLONGBYTEshortunsigned short, unsigned longou unsigned int utilisé pour initialiser l’objet.CComVariant Le type de l’objet CComVariant est , , VT_UI1, VT_I8VT_UI8VT_I2VT_I4VT_UI2VT_UI4, ou VT_UI4, respectivement.VT_I4
vtSrc
[in] Type de la variante. Lorsque le premier paramètre est int, les types valides sont VT_I4 et VT_INT. Lorsque le premier paramètre est long, les types valides sont VT_I4 et VT_ERROR. Lorsque le premier paramètre est double, les types valides sont VT_R8 et VT_DATE. Lorsque le premier paramètre est unsigned int, les types valides sont VT_UI4 et VT_UINT.
fltSrc
[in] Utilisé float pour initialiser l’objet CComVariant . Le type de l’objet CComVariant est VT_R4.
dblSrc
[in] Utilisé double pour initialiser l’objet CComVariant . Le type de l’objet CComVariant est VT_R8.
cySrc
[in] Utilisé CY pour initialiser l’objet CComVariant . Le type de l’objet CComVariant est VT_CY.
pSrc
[in] IUnknown Ou IDispatch pointeur utilisé pour initialiser l’objetCComVariant. AddRef est appelé sur le pointeur d’interface. Le type de l’objet CComVariant est VT_DISPATCH ou VT_UNKNOWN, respectivement.
Ou, le SAFERRAY pointeur utilisé pour initialiser l’objet CComVariant . Une copie du fichier SAFEARRAY est stockée dans l’objet CComVariant . Le type de l’objet CComVariant est une combinaison du type d’origine du SAFEARRAY et VT_ARRAY.
cSrc
[in] Utilisé char pour initialiser l’objet CComVariant . Le type de l’objet CComVariant est VT_I1.
bstrSrc
[in] Utilisé BSTR pour initialiser l’objet CComVariant . Le type de l’objet CComVariant est VT_BSTR.
Notes
Le destructeur gère le nettoyage en appelant CComVariant::Clear.
CComVariant::~CComVariant
Destructeur.
~CComVariant() throw();
Notes
Cette méthode gère le nettoyage en appelant CComVariant::Clear.
CComVariant::ChangeType
Convertit l’objet CComVariant en un nouveau type.
HRESULT ChangeType(VARTYPE vtNew, const VARIANT* pSrc = NULL);
Paramètres
vtNew
[in] Nouveau type pour l’objet CComVariant .
pSrc
[in] Pointeur vers la valeur dont la VARIANT valeur est convertie en nouveau type. La valeur par défaut est NULL, ce qui signifie que l’objet CComVariant est converti en place.
Valeur retournée
Valeur HRESULT standard.
Notes
Si vous passez une valeur pour pSrc, ChangeType l’utilisera VARIANT comme source de la conversion. Sinon, l’objet CComVariant est la source.
CComVariant::Clear
Efface l’objet CComVariant en appelant la VariantClear fonction Win32.
HRESULT Clear();
Valeur retournée
Valeur HRESULT standard.
Notes
Le destructeur appelle Clearautomatiquement .
CComVariant::Copy
Libère l’objet CComVariant , puis l’assigne à une copie de l’objet spécifié VARIANT.
HRESULT Copy(const VARIANT* pSrc);
Paramètres
pSrc
[in] Pointeur vers le VARIANT pointeur à copier.
Valeur retournée
Valeur HRESULT standard.
CComVariant::CopyTo
Copie le contenu de l’objet CComVariant .
HRESULT CopyTo(BSTR* pstrDest);
Paramètres
pstrDest
Pointe vers un BSTR élément qui recevra une copie du contenu de l’objet CComVariant .
Valeur retournée
Valeur HRESULT standard.
Notes
L’objet CComVariant doit être de type VT_BSTR.
CComVariant::Detach
Détache le sous-jacent VARIANT de l’objet CComVariant et définit le type de l’objet sur VT_EMPTY.
HRESULT Detach(VARIANT* pDest);
Paramètres
pDest
[out] Retourne la valeur sous-jacente VARIANT de l’objet.
Valeur retournée
Valeur HRESULT standard.
Notes
Le contenu de l’objet VARIANT référencé par pDest est automatiquement effacé avant d’être affecté à la valeur et au type de l’objet appelant CComVariant .
CComVariant::GetSize
Pour les tailles VARIANTfixes simples, cette méthode retourne la sizeof valeur du type de données sous-jacent plus sizeof(VARTYPE).
ULONG GetSize() const;
Valeur retournée
Taille en octets du contenu actuel de l’objet CComVariant .
Notes
Si le VARIANT contient un pointeur d’interface, GetSize interroge IPersistStream ou IPersistStreamInit. Si elle réussit, la valeur de retour est les 32 bits de faible ordre de la valeur retournée par GetSizeMax plus sizeof(CLSID) et sizeof(VARTYPE). Si le pointeur d’interface est NULL, GetSize retourne sizeof(CLSID) plus sizeof(VARTYPE). Si la taille totale est supérieure ULONG_MAXà , GetSize retourne sizeof(VARTYPE), ce qui indique une erreur.
Dans tous les autres cas, un type VT_BSTR temporaire VARIANT est coché à partir du courant VARIANT. La longueur de celle-ci BSTR est calculée comme la taille de la longueur de la chaîne ainsi que la longueur de la chaîne elle-même ainsi que la taille du NULL caractère plus sizeof(VARTYPE). Si la VARIANT valeur ne peut pas être coédée dans un VARIANT type VT_BSTR, GetSize retourne sizeof(VARTYPE).
La taille retournée par cette méthode correspond au nombre d’octets utilisés par CComVariant::WriteToStream des conditions réussies.
CComVariant::operator =
Affecte une valeur et un type correspondant à l’objet CComVariant .
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ètres
varSrc
[in] Ou CComVariant à affecter à l’objetCComVariant.VARIANT Le contenu de la variante source est copié dans la destination sans conversion.
bstrSrc
[in] à BSTR affecter à l’objet CComVariant . Le type de l’objet CComVariant est VT_BSTR.
lpszSrc
[in] Chaîne de caractères à affecter à l’objet CComVariant . Vous pouvez passer une chaîne de caractères à large zéro (Unicode) à la LPCOLESTR version de l’opérateur ou à une chaîne ANSI à la LPCSTR version. Dans les deux cas, la chaîne est convertie en Unicode BSTR allouée à l’aide SysAllocStringde . Le type de l’objet CComVariant est VT_BSTR.
bSrc
[in] à bool affecter à l’objet CComVariant . L’argument bool est converti en un VARIANT_BOOL avant d’être stocké. Le type de l’objet CComVariant est VT_BOOL.
nSrc
[in] Le int, BYTEULONGLONGlongshortunsigned shortunsigned longLONGLONGou unsigned int à affecter à l’objet.CComVariant Le type de l’objet CComVariant est , , VT_UI1, VT_I8VT_UI8VT_I2VT_I4VT_UI2VT_UI4, ou VT_UI4, respectivement.VT_I4
fltSrc
[in] à float affecter à l’objet CComVariant . Le type de l’objet CComVariant est VT_R4.
dblSrc
[in] à double affecter à l’objet CComVariant . Le type de l’objet CComVariant est VT_R8.
cySrc
[in] à CY affecter à l’objet CComVariant . Le type de l’objet CComVariant est VT_CY.
pSrc
[in] Pointeur IDispatch ou IUnknown pointeur à affecter à l’objet CComVariant . AddRef est appelé sur le pointeur d’interface. Le type de l’objet CComVariant est VT_DISPATCH ou VT_UNKNOWN, respectivement.
Ou un SAFEARRAY pointeur à affecter à l’objet CComVariant . Une copie du fichier SAFEARRAY est stockée dans l’objet CComVariant . Le type de l’objet CComVariant est une combinaison du type d’origine du SAFEARRAY et VT_ARRAY.
cSrc
[in] Char à affecter à l’objet CComVariant . Le type de l’objet CComVariant est VT_I1.
CComVariant::operator ==
Indique si l’objet CComVariant est égal à l’objet spécifié VARIANT.
bool operator==(const VARIANT& varSrc) const throw();
Notes
Retourne TRUE si la valeur et le type sont varSrc égaux à la valeur et au type, respectivement, de l’objet CComVariant . Sinon, FALSE. L’opérateur utilise les paramètres régionaux par défaut de l’utilisateur pour effectuer la comparaison.
L’opérateur compare uniquement la valeur des types de variantes. Il compare des chaînes, des entiers et des points flottants, mais pas des tableaux ou des enregistrements.
CComVariant::operator !=
Indique si l’objet CComVariant n’est pas égal à l’objet spécifié VARIANT.
bool operator!=(const VARIANT& varSrc) const throw();
Notes
Retourne TRUE si la valeur ou le type de varSrc l’objet n’est pas égal à la valeur ou au type, respectivement.CComVariant Sinon, FALSE. L’opérateur utilise les paramètres régionaux par défaut de l’utilisateur pour effectuer la comparaison.
L’opérateur compare uniquement la valeur des types de variantes. Il compare des chaînes, des entiers et des points flottants, mais pas des tableaux ou des enregistrements.
CComVariant::operator <
Indique si l’objet CComVariant est inférieur à l’objet spécifié VARIANT.
bool operator<(const VARIANT& varSrc) const throw();
Notes
Retourne TRUE si la valeur de l’objet CComVariant est inférieure à la valeur de varSrc. Sinon, FALSE. L’opérateur utilise les paramètres régionaux par défaut de l’utilisateur pour effectuer la comparaison.
CComVariant::operator >
Indique si l’objet CComVariant est supérieur à l’objet spécifié VARIANT.
bool operator>(const VARIANT& varSrc) const throw();
Notes
Retourne TRUE si la valeur de l’objet CComVariant est supérieure à la valeur de varSrc. Sinon, FALSE. L’opérateur utilise les paramètres régionaux par défaut de l’utilisateur pour effectuer la comparaison.
CComVariant::ReadFromStream
Définit le sous-jacent VARIANT sur le VARIANT contenu du flux spécifié.
HRESULT ReadFromStream(IStream* pStream);
Paramètres
pStream
[in] Pointeur vers l’interface IStream sur le flux contenant les données.
Valeur retournée
Valeur HRESULT standard.
Notes
ReadToStream nécessite un appel précédent à WriteToStream.
CComVariant::SetByRef
Initialise l’objet CComVariant et définit le vt membre sur VT_BYREF.
template < typename T >
void SetByRef(T* pT) throw();
Paramètres
T
Type de VARIANT, par exemple, BSTR, ou intchar.
pT
Pointeur utilisé pour initialiser l’objet CComVariant .
Notes
SetByRef est un modèle de fonction qui initialise l’objet CComVariant sur le pointeur pT et définit le vt membre VT_BYREFsur . Par exemple :
CComVariant var;
int nData = 10;
var.SetByRef(&nData);
CComVariant::WriteToStream
Enregistre le sous-jacent dans VARIANT un flux.
HRESULT WriteToStream(IStream* pStream);
Paramètres
pStream
[in] Pointeur vers l’interface IStream sur un flux.
Valeur retournée
Valeur HRESULT standard.