// Windows/PropVariant.h | |
#ifndef __WINDOWS_PROPVARIANT_H | |
#define __WINDOWS_PROPVARIANT_H | |
#include "../Common/MyWindows.h" | |
#include "../Common/Types.h" | |
namespace NWindows { | |
namespace NCOM { | |
class CPropVariant : public tagPROPVARIANT | |
{ | |
public: | |
CPropVariant() { vt = VT_EMPTY; wReserved1 = 0; } | |
~CPropVariant() { Clear(); } | |
CPropVariant(const PROPVARIANT &varSrc); | |
CPropVariant(const CPropVariant &varSrc); | |
CPropVariant(BSTR bstrSrc); | |
CPropVariant(LPCOLESTR lpszSrc); | |
CPropVariant(bool bSrc) { vt = VT_BOOL; wReserved1 = 0; boolVal = (bSrc ? VARIANT_TRUE : VARIANT_FALSE); }; | |
CPropVariant(Byte value) { vt = VT_UI1; wReserved1 = 0; bVal = value; } | |
CPropVariant(Int16 value) { vt = VT_I2; wReserved1 = 0; iVal = value; } | |
CPropVariant(Int32 value) { vt = VT_I4; wReserved1 = 0; lVal = value; } | |
CPropVariant(UInt32 value) { vt = VT_UI4; wReserved1 = 0; ulVal = value; } | |
CPropVariant(UInt64 value) { vt = VT_UI8; wReserved1 = 0; uhVal.QuadPart = value; } | |
CPropVariant(const FILETIME &value) { vt = VT_FILETIME; wReserved1 = 0; filetime = value; } | |
CPropVariant& operator=(const CPropVariant &varSrc); | |
CPropVariant& operator=(const PROPVARIANT &varSrc); | |
CPropVariant& operator=(BSTR bstrSrc); | |
CPropVariant& operator=(LPCOLESTR lpszSrc); | |
CPropVariant& operator=(const char *s); | |
CPropVariant& operator=(bool bSrc); | |
CPropVariant& operator=(Byte value); | |
CPropVariant& operator=(Int16 value); | |
CPropVariant& operator=(Int32 value); | |
CPropVariant& operator=(UInt32 value); | |
CPropVariant& operator=(Int64 value); | |
CPropVariant& operator=(UInt64 value); | |
CPropVariant& operator=(const FILETIME &value); | |
HRESULT Clear(); | |
HRESULT Copy(const PROPVARIANT *pSrc); | |
HRESULT Attach(PROPVARIANT *pSrc); | |
HRESULT Detach(PROPVARIANT *pDest); | |
HRESULT InternalClear(); | |
void InternalCopy(const PROPVARIANT *pSrc); | |
int Compare(const CPropVariant &a1); | |
}; | |
}} | |
#endif |