mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-09 18:07:00 -06:00
61 lines
1.9 KiB
C++
Executable File
61 lines
1.9 KiB
C++
Executable File
// Windows/PropVariant.h
|
|
|
|
// #pragma once
|
|
|
|
#ifndef __WINDOWS_PROPVARIANT_H
|
|
#define __WINDOWS_PROPVARIANT_H
|
|
|
|
namespace NWindows {
|
|
namespace NCOM {
|
|
|
|
class CPropVariant : public tagPROPVARIANT
|
|
{
|
|
public:
|
|
CPropVariant() { vt = VT_EMPTY; }
|
|
~CPropVariant() { Clear(); }
|
|
CPropVariant(const PROPVARIANT& varSrc);
|
|
CPropVariant(const CPropVariant& varSrc);
|
|
CPropVariant(BSTR bstrSrc);
|
|
CPropVariant(LPCOLESTR lpszSrc);
|
|
CPropVariant(bool bSrc) { vt = VT_BOOL; boolVal = (bSrc ? VARIANT_TRUE : VARIANT_FALSE); };
|
|
CPropVariant(UINT32 value) { vt = VT_UI4; ulVal = value; }
|
|
CPropVariant(UINT64 value) { vt = VT_UI8; uhVal = *(ULARGE_INTEGER*)&value; }
|
|
CPropVariant(const FILETIME &value) { vt = VT_FILETIME; filetime = value; }
|
|
CPropVariant(int value) { vt = VT_I4; lVal = value; }
|
|
CPropVariant(BYTE value) { vt = VT_UI1; bVal = value; }
|
|
CPropVariant(short value) { vt = VT_I2; iVal = value; }
|
|
CPropVariant(long value, VARTYPE vtSrc = VT_I4) { vt = vtSrc; lVal = value; }
|
|
|
|
CPropVariant& operator=(const CPropVariant& varSrc);
|
|
CPropVariant& operator=(const PROPVARIANT& varSrc);
|
|
CPropVariant& operator=(BSTR bstrSrc);
|
|
CPropVariant& operator=(LPCOLESTR lpszSrc);
|
|
CPropVariant& operator=(bool bSrc);
|
|
CPropVariant& operator=(UINT32 value);
|
|
CPropVariant& operator=(UINT64 value);
|
|
CPropVariant& operator=(const FILETIME &value);
|
|
|
|
CPropVariant& operator=(int value);
|
|
CPropVariant& operator=(BYTE value);
|
|
CPropVariant& operator=(short value);
|
|
CPropVariant& operator=(long value);
|
|
|
|
HRESULT Clear();
|
|
HRESULT Copy(const PROPVARIANT* pSrc);
|
|
HRESULT Attach(PROPVARIANT* pSrc);
|
|
HRESULT Detach(PROPVARIANT* pDest);
|
|
HRESULT ChangeType(VARTYPE vtNew, const PROPVARIANT* pSrc = NULL);
|
|
|
|
HRESULT InternalClear();
|
|
void InternalCopy(const PROPVARIANT* pSrc);
|
|
|
|
HRESULT WriteToStream(ISequentialStream *stream) const;
|
|
HRESULT ReadFromStream(ISequentialStream *stream);
|
|
|
|
int Compare(const CPropVariant &a1);
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|