[PATCH] [PATCH v2] wmvcore: Add stub for WMCheckURlExtension

Vijay Kiran Kamuju infyquest at gmail.com
Thu Feb 21 02:00:29 CST 2019


V2: Added tests

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44300
Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
---
 dlls/wmvcore/tests/wmvcore.c | 23 ++++++++++++++++++++++-
 dlls/wmvcore/wmvcore.spec    |  2 +-
 dlls/wmvcore/wmvcore_main.c  | 10 ++++++++++
 include/wmsdkidl.idl         |  2 ++
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/dlls/wmvcore/tests/wmvcore.c b/dlls/wmvcore/tests/wmvcore.c
index b11a5bf7dea9..af6d32a78efb 100644
--- a/dlls/wmvcore/tests/wmvcore.c
+++ b/dlls/wmvcore/tests/wmvcore.c
@@ -18,7 +18,7 @@
 #define COBJMACROS
 #define WIN32_LEAN_AND_MEAN
 #include "initguid.h"
-#include "wmsdkidl.h"
+#include "wmsdk.h"
 
 #include "wine/test.h"
 
@@ -232,6 +232,26 @@ static void test_WMCreateWriterPriv(void)
     IWMWriter_Release(writer2);
 }
 
+static void test_urlextension(void)
+{
+    HRESULT hr;
+    const WCHAR mp3file[] = {'t','e','s','t','.','m','p','3',0};
+    const WCHAR mkvfile[] = {'t','e','s','t','.','m','k','v',0};
+    const WCHAR urlfile[] = {'a','b','c','d',':','/','/','t','e','s','t','/','t','e','s','t','.','w','m','v',0};
+    const WCHAR testurl[] = {'h','t','t','p',':','/','/','t','e','s','t','/','t','.','a','s','f','?','a','l','t','=','t','.','m','k','v',0};
+
+    hr = WMCheckURLExtension(NULL);
+    ok(hr == E_INVALIDARG, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(mkvfile);
+    ok(hr == NS_E_INVALID_NAME, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(mp3file);
+    todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(urlfile);
+    todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
+    hr = WMCheckURLExtension(testurl);
+    todo_wine ok(hr == S_OK, "WMCheckURLExtension failed 0x%08x\n", hr);
+}
+
 START_TEST(wmvcore)
 {
     HRESULT hr;
@@ -245,6 +265,7 @@ START_TEST(wmvcore)
     test_wmwriter_interfaces();
     test_profile_manager_interfaces();
     test_WMCreateWriterPriv();
+    test_urlextension();
 
     CoUninitialize();
 }
diff --git a/dlls/wmvcore/wmvcore.spec b/dlls/wmvcore/wmvcore.spec
index f3e3b6412274..61c3c0885249 100644
--- a/dlls/wmvcore/wmvcore.spec
+++ b/dlls/wmvcore/wmvcore.spec
@@ -1,4 +1,4 @@
-@ stub WMCheckURLExtension
+@ stdcall WMCheckURLExtension(wstr)
 @ stdcall WMCheckURLScheme(wstr)
 @ stub WMCreateBackupRestorerPrivate
 @ stub WMCreateSyncReaderPriv
diff --git a/dlls/wmvcore/wmvcore_main.c b/dlls/wmvcore/wmvcore_main.c
index 690885e8612d..14014ee59ace 100644
--- a/dlls/wmvcore/wmvcore_main.c
+++ b/dlls/wmvcore/wmvcore_main.c
@@ -48,6 +48,16 @@ HRESULT WINAPI DllRegisterServer(void)
     return S_OK;
 }
 
+HRESULT WINAPI WMCheckURLExtension(const WCHAR *url)
+{
+    FIXME("(%s): stub\n", wine_dbgstr_w(url));
+
+    if (!url)
+        return E_INVALIDARG;
+
+    return NS_E_INVALID_NAME;
+}
+
 HRESULT WINAPI WMCheckURLScheme(const WCHAR *scheme)
 {
     FIXME("(%s): stub\n", wine_dbgstr_w(scheme));
diff --git a/include/wmsdkidl.idl b/include/wmsdkidl.idl
index 5bc85465e1b2..bb7bfee4f8bc 100644
--- a/include/wmsdkidl.idl
+++ b/include/wmsdkidl.idl
@@ -1787,6 +1787,8 @@ interface IWMWriterPreprocess : IUnknown
         [in] DWORD flags);
 };
 
+cpp_quote("HRESULT WINAPI WMCheckURLExtension(LPCWSTR);")
+cpp_quote("HRESULT WINAPI WMCheckURLScheme(LPCWSTR);")
 cpp_quote("HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);")
 cpp_quote("HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**);")
 
-- 
2.17.0




More information about the wine-devel mailing list