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?…
==============================================================================
--- 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.rbui…
==============================================================================
--- 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;
}