Author: winesync Date: Fri Apr 4 08:13:15 2008 New Revision: 32843
URL: http://svn.reactos.org/svn/reactos?rev=32843&view=rev Log: Autosyncing with Wine HEAD
Modified: trunk/reactos/dll/win32/hlink/extserv.c trunk/reactos/dll/win32/hlink/hlink.rbuild trunk/reactos/dll/win32/hlink/hlink.spec trunk/reactos/dll/win32/hlink/hlink_main.c trunk/reactos/dll/win32/hlink/link.c
Modified: trunk/reactos/dll/win32/hlink/extserv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hlink/extserv.c?r... ============================================================================== --- trunk/reactos/dll/win32/hlink/extserv.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hlink/extserv.c [iso-8859-1] Fri Apr 4 08:13:15 2008 @@ -63,7 +63,7 @@ }
if(*ppv) { - IUnknown_AddRef(EXTSERVUNK(This)); + IUnknown_AddRef((IUnknown*)*ppv); return S_OK; }
@@ -209,6 +209,9 @@ HttpNegotiate_OnResponse };
+/*********************************************************************** + * HlinkCreateExtensionServices (HLINK.@) + */ HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR pwzAdditionalHeaders, HWND phwnd, LPCWSTR pszUsername, LPCWSTR pszPassword, IUnknown *punkOuter, REFIID riid, void** ppv)
Modified: trunk/reactos/dll/win32/hlink/hlink.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hlink/hlink.rbuil... ============================================================================== --- trunk/reactos/dll/win32/hlink/hlink.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hlink/hlink.rbuild [iso-8859-1] Fri Apr 4 08:13:15 2008 @@ -1,5 +1,6 @@ <?xml version="1.0"?> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> +<group> <module name="hlink" type="win32dll" baseaddress="${BASEADDRESS_HLINK}" installbase="system32" installname="hlink.dll" allowwarnings="true"> <autoregister infsection="OleControlDlls" type="DllRegisterServer" /> <importlibrary definition="hlink.spec.def" /> @@ -8,6 +9,11 @@ <define name="__WINESRC__" /> <define name="WINVER">0x600</define> <define name="_WIN32_WINNT">0x600</define> + <file>browse_ctx.c</file> + <file>extserv.c</file> + <file>hlink_main.c</file> + <file>link.c</file> + <file>hlink.spec</file> <library>wine</library> <library>shell32</library> <library>ole32</library> @@ -16,9 +22,5 @@ <library>urlmon</library> <library>uuid</library> <library>ntdll</library> - <file>browse_ctx.c</file> - <file>extserv.c</file> - <file>hlink_main.c</file> - <file>link.c</file> - <file>hlink.spec</file> </module> +</group>
Modified: trunk/reactos/dll/win32/hlink/hlink.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hlink/hlink.spec?... ============================================================================== --- trunk/reactos/dll/win32/hlink/hlink.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hlink/hlink.spec [iso-8859-1] Fri Apr 4 08:13:15 2008 @@ -8,10 +8,10 @@ 10 stdcall HlinkNavigate(ptr ptr long ptr ptr ptr) 11 stdcall HlinkUpdateStackItem(ptr ptr long ptr wstr wstr) 12 stub HlinkOnRenameDocument -14 stub HlinkResolveMonikerForData +14 stdcall HlinkResolveMonikerForData(ptr long ptr long ptr ptr ptr) 15 stub HlinkResolveStringForData 16 stub OleSaveToStreamEx -18 stub HlinkParseDisplayName +18 stdcall HlinkParseDisplayName(ptr wstr long ptr ptr) 20 stdcall HlinkQueryCreateFromData(ptr) 21 stub HlinkSetSpecialReference 22 stdcall HlinkGetSpecialReference(long ptr)
Modified: trunk/reactos/dll/win32/hlink/hlink_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hlink/hlink_main.... ============================================================================== --- trunk/reactos/dll/win32/hlink/hlink_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hlink/hlink_main.c [iso-8859-1] Fri Apr 4 08:13:15 2008 @@ -41,8 +41,6 @@
switch (fdwReason) { - case DLL_WINE_PREATTACH: - return FALSE; /* prefer native version */ case DLL_PROCESS_ATTACH: DisableThreadLibraryCalls(hinstDLL); break; @@ -52,12 +50,18 @@ return TRUE; }
+/*********************************************************************** + * DllCanUnloadNow (HLINK.@) + */ HRESULT WINAPI DllCanUnloadNow( void ) { FIXME("\n"); return S_OK; }
+/*********************************************************************** + * HlinkCreateFromMoniker (HLINK.@) + */ HRESULT WINAPI HlinkCreateFromMoniker( IMoniker *pimkTrgt, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, IHlinkSite* pihlsite, DWORD dwSiteData, IUnknown* piunkOuter, REFIID riid, void** ppvObj) @@ -89,6 +93,9 @@ return r; }
+/*********************************************************************** + * HlinkCreateFromString (HLINK.@) + */ HRESULT WINAPI HlinkCreateFromString( LPCWSTR pwzTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, IHlinkSite* pihlsite, DWORD dwSiteData, IUnknown* piunkOuter, REFIID riid, void** ppvObj) @@ -151,6 +158,9 @@ }
+/*********************************************************************** + * HlinkNavigate (HLINK.@) + */ HRESULT WINAPI HlinkCreateBrowseContext( IUnknown* piunkOuter, REFIID riid, void** ppvObj) { HRESULT r = S_OK; @@ -164,6 +174,9 @@ return r; }
+/*********************************************************************** + * HlinkNavigate (HLINK.@) + */ HRESULT WINAPI HlinkNavigate(IHlink *phl, IHlinkFrame *phlFrame, DWORD grfHLNF, LPBC pbc, IBindStatusCallback *pbsc, IHlinkBrowseContext *phlbc) @@ -180,6 +193,9 @@ return r; }
+/*********************************************************************** + * HlinkOnNavigate (HLINK.@) + */ HRESULT WINAPI HlinkOnNavigate( IHlinkFrame *phlFrame, IHlinkBrowseContext* phlbc, DWORD grfHLNF, IMoniker *pmkTarget, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName, ULONG* puHLID) @@ -199,6 +215,9 @@ return r; }
+/*********************************************************************** + * HlinkCreateFromData (HLINK.@) + */ HRESULT WINAPI HlinkCreateFromData(IDataObject *piDataObj, IHlinkSite *pihlsite, DWORD dwSiteData, IUnknown *piunkOuter, REFIID riid, void **ppvObj) @@ -209,12 +228,18 @@ return E_NOTIMPL; }
+/*********************************************************************** + * HlinkQueryCreateFromData (HLINK.@) + */ HRESULT WINAPI HlinkQueryCreateFromData(IDataObject* piDataObj) { FIXME("%p\n", piDataObj); return E_NOTIMPL; }
+/*********************************************************************** + * HlinkNavigateToStringReference (HLINK.@) + */ HRESULT WINAPI HlinkNavigateToStringReference( LPCWSTR pwzTarget, LPCWSTR pwzLocation, IHlinkSite *pihlsite, DWORD dwSiteData, IHlinkFrame *pihlframe, DWORD grfHLNF, LPBC pibc, @@ -235,6 +260,9 @@ return r; }
+/*********************************************************************** + * HlinkIsShortcut (HLINK.@) + */ HRESULT WINAPI HlinkIsShortcut(LPCWSTR pwzFileName) { int len; @@ -253,6 +281,9 @@ return strcmpiW(pwzFileName+len, url_ext) ? S_FALSE : S_OK; }
+/*********************************************************************** + * HlinkGetSpecialReference (HLINK.@) + */ HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference) { DWORD res, type, size = 100; @@ -308,18 +339,89 @@ return S_OK; }
+/*********************************************************************** + * HlinkTranslateURL (HLINK.@) + */ HRESULT WINAPI HlinkTranslateURL(LPCWSTR pwzURL, DWORD grfFlags, LPWSTR *ppwzTranslatedURL) { FIXME("(%s %08x %p)\n", debugstr_w(pwzURL), grfFlags, ppwzTranslatedURL); return E_NOTIMPL; }
+/*********************************************************************** + * HlinkUpdateStackItem (HLINK.@) + */ HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame *pihlframe, IHlinkBrowseContext *pihlbc, ULONG uHLID, IMoniker *pimkTrgt, LPCWSTR pwzLocation, LPCWSTR pwzFriendlyName) { FIXME("(%p %p %u %p %s %s)\n", pihlframe, pihlbc, uHLID, pimkTrgt, debugstr_w(pwzLocation), debugstr_w(pwzFriendlyName)); return E_NOTIMPL; +} + +/*********************************************************************** + * HlinkParseDisplayName (HLINK.@) + */ +HRESULT WINAPI HlinkParseDisplayName(LPBC pibc, LPCWSTR pwzDisplayName, BOOL fNoForceAbs, + ULONG *pcchEaten, IMoniker **ppimk) +{ + HRESULT hres; + + TRACE("(%p %s %x %p %p)\n", pibc, debugstr_w(pwzDisplayName), fNoForceAbs, pcchEaten, ppimk); + + if(fNoForceAbs) + FIXME("Unsupported fNoForceAbs\n"); + + hres = MkParseDisplayNameEx(pibc, pwzDisplayName, pcchEaten, ppimk); + if(SUCCEEDED(hres)) + return hres; + + hres = MkParseDisplayName(pibc, pwzDisplayName, pcchEaten, ppimk); + if(SUCCEEDED(hres)) + return hres; + + hres = CreateFileMoniker(pwzDisplayName, ppimk); + if(SUCCEEDED(hres)) + *pcchEaten = strlenW(pwzDisplayName); + + return hres; +} + +/*********************************************************************** + * HlinkResolveMonikerForData (HLINK.@) + */ +HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER pimkReference, DWORD reserved, LPBC pibc, + ULONG cFmtetc, FORMATETC *rgFmtetc, IBindStatusCallback *pibsc, LPMONIKER pimkBase) +{ + LPOLESTR name = NULL; + IBindCtx *bctx; + DWORD mksys = 0; + void *obj = NULL; + HRESULT hres; + + TRACE("(%p %x %p %d %p %p %p)\n", pimkReference, reserved, pibc, cFmtetc, rgFmtetc, pibsc, pimkBase); + + if(cFmtetc || rgFmtetc || pimkBase) + FIXME("Unsupported args\n"); + + hres = RegisterBindStatusCallback(pibc, pibsc, NULL /* FIXME */, 0); + if(FAILED(hres)) + return hres; + + hres = IMoniker_IsSystemMoniker(pimkReference, &mksys); + if(SUCCEEDED(hres) && mksys != MKSYS_URLMONIKER) + WARN("sysmk = %x\n", mksys); + + /* FIXME: What is it for? */ + CreateBindCtx(0, &bctx); + hres = IMoniker_GetDisplayName(pimkReference, bctx, NULL, &name); + IBindCtx_Release(bctx); + if(SUCCEEDED(hres)) { + TRACE("got display name %s\n", debugstr_w(name)); + CoTaskMemFree(name); + } + + return IMoniker_BindToStorage(pimkReference, pibc, NULL, &IID_IUnknown, &obj); }
static HRESULT WINAPI HLinkCF_fnQueryInterface ( LPCLASSFACTORY iface, @@ -435,6 +537,9 @@ return S_OK; }
+/*********************************************************************** + * DllRegisterServer (HLINK.@) + */ HRESULT WINAPI DllRegisterServer(void) { HRESULT r;
Modified: trunk/reactos/dll/win32/hlink/link.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hlink/link.c?rev=... ============================================================================== --- trunk/reactos/dll/win32/hlink/link.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hlink/link.c [iso-8859-1] Fri Apr 4 08:13:15 2008 @@ -602,7 +602,7 @@ { HlinkImpl *This = HlinkImpl_from_IPersistStream(iface); TRACE("(%p)\n", This); - memcpy(pClassID, &CLSID_StdHlink, sizeof(CLSID)); + *pClassID = CLSID_StdHlink; return S_OK; }