Hans Leidekker : urlmon: Add an implementation for CreateURLMonikerEx based on existing code for CreateURLMoniker .

Alexandre Julliard julliard at wine.codeweavers.com
Mon Apr 23 08:39:15 CDT 2007


Module: wine
Branch: master
Commit: 691b0a3d68a329139ad2bc8d0b954b722b603b40
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=691b0a3d68a329139ad2bc8d0b954b722b603b40

Author: Hans Leidekker <hans at it.vu.nl>
Date:   Sun Apr 22 11:38:15 2007 +0200

urlmon: Add an implementation for CreateURLMonikerEx based on existing code for CreateURLMoniker.

---

 dlls/urlmon/umon.c      |   29 ++++++++++++++++++++++++++---
 dlls/urlmon/urlmon.spec |    1 +
 include/urlmon.idl      |    2 ++
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/dlls/urlmon/umon.c b/dlls/urlmon/umon.c
index 03289ff..7765f27 100644
--- a/dlls/urlmon/umon.c
+++ b/dlls/urlmon/umon.c
@@ -1149,7 +1149,7 @@ HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx *ibind, DWORD options,
 
 
 /***********************************************************************
- *           CreateURLMoniker (URLMON.@)
+ *           CreateURLMonikerEx (URLMON.@)
  *
  * Create a url moniker.
  *
@@ -1157,19 +1157,22 @@ HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx *ibind, DWORD options,
  *    pmkContext [I] Context
  *    szURL      [I] Url to create the moniker for
  *    ppmk       [O] Destination for created moniker.
+ *    dwFlags    [I] Flags.
  *
  * RETURNS
  *    Success: S_OK. ppmk contains the created IMoniker object.
  *    Failure: MK_E_SYNTAX if szURL is not a valid url, or
  *             E_OUTOFMEMORY if memory allocation fails.
  */
-HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
+HRESULT WINAPI CreateURLMonikerEx(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk, DWORD dwFlags)
 {
     URLMonikerImpl *obj;
     HRESULT hres;
     LPOLESTR lefturl = NULL;
 
-    TRACE("(%p, %s, %p)\n", pmkContext, debugstr_w(szURL), ppmk);
+    TRACE("(%p, %s, %p, %08x)\n", pmkContext, debugstr_w(szURL), ppmk, dwFlags);
+
+    if (dwFlags & URL_MK_UNIFORM) FIXME("ignoring flag URL_MK_UNIFORM\n");
 
     if(!(obj = HeapAlloc(GetProcessHeap(), 0, sizeof(*obj))))
 	return E_OUTOFMEMORY;
@@ -1194,6 +1197,26 @@ HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **
     return hres;
 }
 
+/**********************************************************************
+ *           CreateURLMoniker (URLMON.@)
+ *
+ * Create a url moniker.
+ *
+ * PARAMS
+ *    pmkContext [I] Context
+ *    szURL      [I] Url to create the moniker for
+ *    ppmk       [O] Destination for created moniker.
+ *
+ * RETURNS
+ *    Success: S_OK. ppmk contains the created IMoniker object.
+ *    Failure: MK_E_SYNTAX if szURL is not a valid url, or
+ *             E_OUTOFMEMORY if memory allocation fails.
+ */
+HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
+{
+    return CreateURLMonikerEx(pmkContext, szURL, ppmk, URL_MK_LEGACY);
+}
+
 /***********************************************************************
  *           CoInternetQueryInfo (URLMON.@)
  *
diff --git a/dlls/urlmon/urlmon.spec b/dlls/urlmon/urlmon.spec
index 7821486..c72c0eb 100644
--- a/dlls/urlmon/urlmon.spec
+++ b/dlls/urlmon/urlmon.spec
@@ -26,6 +26,7 @@
 @ stdcall CreateAsyncBindCtxEx(ptr long ptr ptr ptr long)
 @ stdcall CreateFormatEnumerator(long ptr ptr)
 @ stdcall CreateURLMoniker(ptr wstr ptr)
+@ stdcall CreateURLMonikerEx(ptr wstr ptr long)
 @ stdcall -private DllCanUnloadNow()
 @ stdcall -private DllGetClassObject(ptr ptr ptr)
 @ stdcall -private DllInstall(long wstr)
diff --git a/include/urlmon.idl b/include/urlmon.idl
index da06868..5f64086 100644
--- a/include/urlmon.idl
+++ b/include/urlmon.idl
@@ -1284,3 +1284,5 @@ cpp_quote("#define OInetCompareUrl CoInternetCompareUrl")
 cpp_quote("#define OInetGetSession CoInternetGetSession")
 
 cpp_quote("#define MKSYS_URLMONIKER 6")
+cpp_quote("#define URL_MK_LEGACY            0")
+cpp_quote("#define URL_MK_UNIFORM           1")




More information about the wine-cvs mailing list