Each constructor handles the safe initialization of the CComVariant object by calling the VariantInit Win32 function or by setting the object's value and type according to the parameters passed.
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(
short 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
);
Parameters
varSrc
[in] The CComVariant or VARIANT used to initialize the CComVariant object. The contents of the source variant are copied to the destination without conversion.lpszSrc
[in] The character string used to initialize the CComVariant object. You can pass a zero-terminated wide (Unicode) character string to the LPCOLESTR version of the constructor or an ANSI string to the LPCSTR version. In either case the string is converted to a Unicode BSTR allocated using SysAllocString. The type of the CComVariant object will be VT_BSTR.bSrc
[in] The bool used to initialize the CComVariant object. The bool argument is converted to a VARIANT_BOOL before being stored. The type of the CComVariant object will be VT_BOOL.nSrc
[in] The int, BYTE, short, long, LONGLONG, ULONGLONG, unsigned short, unsigned long, or unsigned int used to initialize the CComVariant object. The type of the CComVariant object will be VT_I4, VT_UI1, VT_I2, VT_I4, VT_I8, VT_UI8, VT_UI2, VT_UI4, or VT_UI4, respectively.vtSrc
[in] The type of the variant. When the first parameter is int, valid types are VT_I4 and VT_INT. When the first parameter is long, valid types are VT_I4 and VT_ERROR. When the first parameter is double, valid types are VT_R8 and VT_DATE. When the first parameter is unsigned int, valid types are VT_UI4 and VT_UINT.fltSrc
[in] The float used to initialize the CComVariant object. The type of the CComVariant object will be VT_R4.dblSrc
[in] The double used to initialize the CComVariant object. The type of the CComVariant object will be VT_R8.cySrc
[in] The CY used to initialize the CComVariant object. The type of the CComVariant object will be VT_CY.pSrc
[in] The IDispatch or IUnknown pointer used to initialize the CComVariant object. AddRef will be called on the interface pointer. The type of the CComVariant object will be VT_DISPATCH or VT_UNKNOWN, respectively.Or, the SAFERRAY pointer used to initialize the CComVariant object. A copy of the SAFEARRAY is stored in the CComVariant object. The type of the CComVariant object will be a combination of the original type of the SAFEARRAY and VT_ARRAY.
cSrc
[in] The char used to initialize the CComVariant object. The type of the CComVariant object will be VT_I1.bstrSrc
[in] The BSTR used to initialize the CComVariant object. The type of the CComVariant object will be VT_BSTR.
Remarks
The destructor manages cleanup by calling CComVariant::Clear.
Requirements
Header: atlcomcli.h