19#ifndef __WINE_PROPVARUTIL_H
20#define __WINE_PROPVARUTIL_H
27#define PSSTDAPI STDAPI
28#define PSSTDAPI_(type) STDAPI_(type)
30#define PSSTDAPI DECLSPEC_IMPORT STDAPI
31#define PSSTDAPI_(type) DECLSPEC_IMPORT STDAPI_(type)
114HRESULT InitPropVariantFromBoolean(
BOOL fVal, PROPVARIANT *ppropvar);
115HRESULT InitPropVariantFromInt16(
SHORT nVal, PROPVARIANT *ppropvar);
116HRESULT InitPropVariantFromUInt16(
USHORT uiVal, PROPVARIANT *ppropvar);
117HRESULT InitPropVariantFromInt32(
LONG lVal, PROPVARIANT *ppropvar);
118HRESULT InitPropVariantFromUInt32(
ULONG ulVal, PROPVARIANT *ppropvar);
119HRESULT InitPropVariantFromInt64(
LONGLONG llVal, PROPVARIANT *ppropvar);
121HRESULT InitPropVariantFromDouble(
DOUBLE dblVal, PROPVARIANT *ppropvar);
122HRESULT InitPropVariantFromString(
PCWSTR psz, PROPVARIANT *ppropvar);
124BOOL IsPropVariantVector(REFPROPVARIANT propvar);
125BOOL IsPropVariantString(REFPROPVARIANT propvar);
127#ifndef NO_PROPVAR_INLINES
129inline HRESULT InitPropVariantFromBoolean(
BOOL fVal, PROPVARIANT *ppropvar)
132 ppropvar->boolVal = fVal ? VARIANT_TRUE : VARIANT_FALSE;
136inline HRESULT InitPropVariantFromInt16(
SHORT nVal, PROPVARIANT *ppropvar)
138 ppropvar->vt =
VT_I2;
139 ppropvar->iVal = nVal;
143inline HRESULT InitPropVariantFromUInt16(
USHORT uiVal, PROPVARIANT *ppropvar)
146 ppropvar->uiVal = uiVal;
150inline HRESULT InitPropVariantFromInt32(
LONG lVal, PROPVARIANT *ppropvar)
152 ppropvar->vt =
VT_I4;
153 ppropvar->lVal = lVal;
157inline HRESULT InitPropVariantFromUInt32(
ULONG ulVal, PROPVARIANT *ppropvar)
160 ppropvar->ulVal = ulVal;
164inline HRESULT InitPropVariantFromInt64(
LONGLONG llVal, PROPVARIANT *ppropvar)
166 ppropvar->vt =
VT_I8;
167 ppropvar->hVal.QuadPart = llVal;
171inline HRESULT InitPropVariantFromUInt64(
ULONGLONG ullVal, PROPVARIANT *ppropvar)
174 ppropvar->uhVal.QuadPart = ullVal;
178inline HRESULT InitPropVariantFromDouble(
DOUBLE dblVal, PROPVARIANT *ppropvar)
180 ppropvar->vt =
VT_R8;
181 ppropvar->dblVal = dblVal;
185inline HRESULT InitPropVariantFromString(
PCWSTR psz, PROPVARIANT *ppropvar)
193 PropVariantInit(ppropvar);
203inline BOOL IsPropVariantVector(REFPROPVARIANT propvar)
208inline BOOL IsPropVariantString(REFPROPVARIANT propvar)
static REFPROPVARIANT propvarSrc
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
PCWSTR WINAPI PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault)
INT WINAPI PropVariantCompareEx(REFPROPVARIANT propvar1, REFPROPVARIANT propvar2, PROPVAR_COMPARE_UNIT unit, PROPVAR_COMPARE_FLAGS flags)
ULONG WINAPI PropVariantToUInt32WithDefault(REFPROPVARIANT propvarIn, ULONG ulDefault)
PCWSTR WINAPI VariantToStringWithDefault(const VARIANT *pvar, const WCHAR *default_value)
HRESULT WINAPI SHStrDupW(LPCWSTR src, LPWSTR *dest)
GLuint GLuint GLsizei count
static DWORD DWORD void LPSTR DWORD cch
static HMODULE MODULEINFO DWORD cb
PSSTDAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar)
@ PVCF_TREATEMPTYASGREATERTHAN
PSSTDAPI PropVariantToDouble(REFPROPVARIANT propvarIn, double *ret)
PSSTDAPI PropVariantToVariant(const PROPVARIANT *propvar, VARIANT *var)
PSSTDAPI StgSerializePropVariant(const PROPVARIANT *ppropvar, SERIALIZEDPROPERTYVALUE **ppprop, ULONG *pcb)
PSSTDAPI PropVariantToBSTR(REFPROPVARIANT propvar, BSTR *bstr)
PSSTDAPI PropVariantToUInt64(REFPROPVARIANT propvarIn, ULONGLONG *ret)
PSSTDAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret)
PSSTDAPI InitVariantFromFileTime(const FILETIME *ft, VARIANT *var)
PSSTDAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar)
PSSTDAPI PropVariantToString(REFPROPVARIANT propvarIn, PWSTR ret, UINT cch)
PSSTDAPI PropVariantToGUID(const PROPVARIANT *ppropvar, GUID *guid)
PSSTDAPI PropVariantToInt16(REFPROPVARIANT propvarIn, SHORT *ret)
PSSTDAPI VariantToString(REFVARIANT var, PWSTR ret, UINT cch)
PSSTDAPI InitPropVariantFromStringVector(PCWSTR *strs, ULONG count, PROPVARIANT *ppropvar)
PSSTDAPI PropVariantToUInt16(REFPROPVARIANT propvarIn, USHORT *ret)
PSSTDAPI PropVariantToInt32(REFPROPVARIANT propvarIn, LONG *ret)
PSSTDAPI InitPropVariantFromCLSID(REFCLSID clsid, PROPVARIANT *ppropvar)
PSSTDAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar)
PSSTDAPI InitPropVariantFromFileTime(const FILETIME *pftIn, PROPVARIANT *ppropvar)
PSSTDAPI PropVariantToUInt32(REFPROPVARIANT propvarIn, ULONG *ret)
PSSTDAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar)
PSSTDAPI VariantToPropVariant(const VARIANT *var, PROPVARIANT *propvar)
int PROPVAR_COMPARE_FLAGS
PSSTDAPI StgDeserializePropVariant(const SERIALIZEDPROPERTYVALUE *pprop, ULONG cbmax, PROPVARIANT *ppropvar)
PSSTDAPI VariantToGUID(const VARIANT *pvar, GUID *guid)
PSSTDAPI PropVariantToInt64(REFPROPVARIANT propvarIn, LONGLONG *ret)
PSSTDAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT propvarSrc, PROPVAR_CHANGE_FLAGS flags, VARTYPE vt)
PSSTDAPI PropVariantToBuffer(REFPROPVARIANT propvarIn, void *ret, UINT cb)
PSSTDAPI PropVariantToBoolean(REFPROPVARIANT propvarIn, BOOL *ret)