propsys: Implement InitVariantFromFileTime.

Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Daniel Lehman 2022-03-15 07:30:59 -07:00 committed by Alexandre Julliard
parent 6ecf25e9a8
commit f2b8ccb7b0
3 changed files with 17 additions and 1 deletions

View File

@ -49,7 +49,7 @@
@ stub InitVariantFromBooleanArray
@ stdcall InitVariantFromBuffer(ptr long ptr)
@ stub InitVariantFromDoubleArray
@ stub InitVariantFromFileTime
@ stdcall InitVariantFromFileTime(ptr ptr)
@ stub InitVariantFromFileTimeArray
@ stdcall InitVariantFromGUIDAsString(ptr ptr)
@ stub InitVariantFromInt16Array

View File

@ -672,6 +672,21 @@ HRESULT WINAPI InitVariantFromBuffer(const VOID *pv, UINT cb, VARIANT *pvar)
return S_OK;
}
HRESULT WINAPI InitVariantFromFileTime(const FILETIME *ft, VARIANT *var)
{
SYSTEMTIME st;
TRACE("%p, %p\n", ft, var);
VariantInit(var);
if (!FileTimeToSystemTime(ft, &st))
return E_INVALIDARG;
if (!SystemTimeToVariantTime(&st, &V_DATE(var)))
return E_INVALIDARG;
V_VT(var) = VT_DATE;
return S_OK;
}
static inline DWORD PROPVAR_HexToNum(const WCHAR *hex)
{
DWORD ret;

View File

@ -71,6 +71,7 @@ typedef int PROPVAR_COMPARE_FLAGS;
HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT propvarSrc,
PROPVAR_CHANGE_FLAGS flags, VARTYPE vt);
HRESULT WINAPI InitPropVariantFromGUIDAsString(REFGUID guid, PROPVARIANT *ppropvar);
HRESULT WINAPI InitVariantFromFileTime(const FILETIME *ft, VARIANT *var);
HRESULT WINAPI InitVariantFromGUIDAsString(REFGUID guid, VARIANT *pvar);
HRESULT WINAPI InitPropVariantFromBuffer(const VOID *pv, UINT cb, PROPVARIANT *ppropvar);
HRESULT WINAPI InitPropVariantFromCLSID(REFCLSID clsid, PROPVARIANT *ppropvar);