Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=46300 Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/mfplat/main.c | 17 +++++++++++++++++ dlls/mfplat/mfplat.spec | 2 +- include/mfidl.idl | 1 + 3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c index c7c3465..1e8e2ea 100644 --- a/dlls/mfplat/main.c +++ b/dlls/mfplat/main.c @@ -248,6 +248,23 @@ HRESULT WINAPI MFTUnregisterLocal(IClassFactory *factory) return S_OK; }
+MFTIME WINAPI MFGetSystemTime() +{ + SYSTEMTIME st; + FILETIME ft; + MFTIME mf; + + TRACE("()\n"); + + GetSystemTime(&st); + + SystemTimeToFileTime(&st, &ft); + + memcpy(&mf, &ft, sizeof(FILETIME)); + + return mf; +} + static BOOL match_type(const WCHAR *clsid_str, const WCHAR *type_str, MFT_REGISTER_TYPE_INFO *type) { HKEY htransform, hfilter; diff --git a/dlls/mfplat/mfplat.spec b/dlls/mfplat/mfplat.spec index c828aea..349b926 100644 --- a/dlls/mfplat/mfplat.spec +++ b/dlls/mfplat/mfplat.spec @@ -98,7 +98,7 @@ @ stub MFGetPrivateWorkqueues @ stub MFGetSockaddrFromNumericName @ stub MFGetStrideForBitmapInfoHeader -@ stub MFGetSystemTime +@ stdcall MFGetSystemTime() @ stub MFGetTimerPeriodicity @ stub MFGetUncompressedVideoFormat @ stub MFGetWorkQueueMMCSSClass diff --git a/include/mfidl.idl b/include/mfidl.idl index 124ae3c..6c81694 100644 --- a/include/mfidl.idl +++ b/include/mfidl.idl @@ -313,6 +313,7 @@ cpp_quote(" IMFMediaType **types, IMFStreamDescriptor **descriptor);") cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **topology);") cpp_quote("HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *array);") cpp_quote("HRESULT WINAPI MFGetService(IUnknown *object, REFGUID service, REFIID iid, void **obj);") +cpp_quote("MFTIME WINAPI MFGetSystemTime(void);")
[ object,
Alistair Leslie-Hughes leslie_alistair@hotmail.com wrote:
+MFTIME WINAPI MFGetSystemTime() +{
- SYSTEMTIME st;
- FILETIME ft;
- MFTIME mf;
- TRACE("()\n");
- GetSystemTime(&st);
- SystemTimeToFileTime(&st, &ft);
- memcpy(&mf, &ft, sizeof(FILETIME));
- return mf;
+}
There's no need for any intermediate conversions or copies, there's GetSystemTimeAsFileTime.