Module: wine Branch: master Commit: 691b0a3d68a329139ad2bc8d0b954b722b603b40 URL: http://source.winehq.org/git/wine.git/?a=commit;h=691b0a3d68a329139ad2bc8d0b...
Author: Hans Leidekker hans@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")