[PATCH] mfplat: Implement MFGetSystemTime

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Mon Feb 11 21:10:41 CST 2019


Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=46300
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at 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,
-- 
1.9.1




More information about the wine-devel mailing list